Kaydet (Commit) b6d4ee53 authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Issue #10440: Support RUSAGE_THREAD as a constant in the resource module.

Patch by Robert Collins.
üst dc817b22
...@@ -217,14 +217,14 @@ function to specify which processes information should be provided for. ...@@ -217,14 +217,14 @@ function to specify which processes information should be provided for.
.. data:: RUSAGE_SELF .. data:: RUSAGE_SELF
:const:`RUSAGE_SELF` should be used to request information pertaining only to Pass to :func:`getrusage` to request resources consumed by the calling
the process itself. process, which is the sum of resources used by all threads in the process.
.. data:: RUSAGE_CHILDREN .. data:: RUSAGE_CHILDREN
Pass to :func:`getrusage` to request resource information for child processes of Pass to :func:`getrusage` to request resources consumed by child processes
the calling process. of the calling process which have been terminated and waited for.
.. data:: RUSAGE_BOTH .. data:: RUSAGE_BOTH
...@@ -232,3 +232,10 @@ function to specify which processes information should be provided for. ...@@ -232,3 +232,10 @@ function to specify which processes information should be provided for.
Pass to :func:`getrusage` to request resources consumed by both the current Pass to :func:`getrusage` to request resources consumed by both the current
process and child processes. May not be available on all systems. process and child processes. May not be available on all systems.
.. data:: RUSAGE_THREAD
Pass to :func:`getrusage` to request resources consumed by the current
thread. May not be available on all systems.
.. versionadded:: 3.2
...@@ -102,6 +102,10 @@ class ResourceTest(unittest.TestCase): ...@@ -102,6 +102,10 @@ class ResourceTest(unittest.TestCase):
usageboth = resource.getrusage(resource.RUSAGE_BOTH) usageboth = resource.getrusage(resource.RUSAGE_BOTH)
except (ValueError, AttributeError): except (ValueError, AttributeError):
pass pass
try:
usage_thread = resource.getrusage(resource.RUSAGE_THREAD)
except (ValueError, AttributeError):
pass
def test_main(verbose=None): def test_main(verbose=None):
support.run_unittest(ResourceTest) support.run_unittest(ResourceTest)
......
...@@ -13,6 +13,9 @@ Core and Builtins ...@@ -13,6 +13,9 @@ Core and Builtins
Library Library
------- -------
- Issue #10440: Support RUSAGE_THREAD as a constant in the resource module.
Patch by Robert Collins.
- Issue #10429: IMAP.starttls() stored the capabilities as bytes objects, - Issue #10429: IMAP.starttls() stored the capabilities as bytes objects,
rather than strings. rather than strings.
......
...@@ -325,6 +325,10 @@ PyInit_resource(void) ...@@ -325,6 +325,10 @@ PyInit_resource(void)
PyModule_AddIntConstant(m, "RUSAGE_BOTH", RUSAGE_BOTH); PyModule_AddIntConstant(m, "RUSAGE_BOTH", RUSAGE_BOTH);
#endif #endif
#ifdef RUSAGE_THREAD
PyModule_AddIntConstant(m, "RUSAGE_THREAD", RUSAGE_THREAD);
#endif
#if defined(HAVE_LONG_LONG) #if defined(HAVE_LONG_LONG)
if (sizeof(RLIM_INFINITY) > sizeof(long)) { if (sizeof(RLIM_INFINITY) > sizeof(long)) {
v = PyLong_FromLongLong((PY_LONG_LONG) RLIM_INFINITY); v = PyLong_FromLongLong((PY_LONG_LONG) RLIM_INFINITY);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment