]> granicus.if.org Git - python/commitdiff
#17409: Document RLIM_INFINITY and use it to clarify the setrlimit docs.
authorR David Murray <rdmurray@bitdance.com>
Sat, 20 Apr 2013 17:37:34 +0000 (13:37 -0400)
committerR David Murray <rdmurray@bitdance.com>
Sat, 20 Apr 2013 17:37:34 +0000 (13:37 -0400)
Doc/library/resource.rst

index 03a7cb598cd49ee3a345db50c7ee41329169c7eb..ed858505a7e024dbcd2b6f8b309aba4444750149 100644 (file)
@@ -43,6 +43,11 @@ which cannot be checked or controlled by the operating system are not defined in
 this module for those platforms.
 
 
+.. data:: RLIM_INFINITY
+
+   Constant used to represent the the limit for an unlimited resource.
+
+
 .. function:: getrlimit(resource)
 
    Returns a tuple ``(soft, hard)`` with the current soft and hard limits of
@@ -54,12 +59,20 @@ this module for those platforms.
 
    Sets new limits of consumption of *resource*. The *limits* argument must be a
    tuple ``(soft, hard)`` of two integers describing the new limits. A value of
-   ``-1`` can be used to specify the maximum possible upper limit.
+   :data:`~resource.RLIM_INFINITY` can be used to request a limit that is
+   unlimited.
 
    Raises :exc:`ValueError` if an invalid resource is specified, if the new soft
-   limit exceeds the hard limit, or if a process tries to raise its hard limit
-   (unless the process has an effective UID of super-user).  Can also raise
-   :exc:`error` if the underlying system call fails.
+   limit exceeds the hard limit, or if a process tries to raise its hard limit.
+   Specifying a limit of :data:`~resource.RLIM_INFINITY` when the hard or
+   system limit for that resource is not unlimited will result in a
+   :exc:`ValueError`.  A process with the effective UID of super-user can
+   request any valid limit value, including unlimited, but :exc:`ValueError`
+   will still be raised if the requested limit exceeds the system imposed
+   limit.
+
+   ``setrlimit`` may also raise :exc:`error` if the underlying system call
+   fails.
 
 These symbols define resources whose consumption can be controlled using the
 :func:`setrlimit` and :func:`getrlimit` functions described below. The values of