aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Doc/library/subprocess.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library/subprocess.rst')
-rw-r--r--Doc/library/subprocess.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index 05d09e304b3..028a7861f36 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -1525,6 +1525,24 @@ handling consistency are valid for these functions.
Notes
-----
+.. _subprocess-timeout-behavior:
+
+Timeout Behavior
+^^^^^^^^^^^^^^^^
+
+When using the ``timeout`` parameter in functions like :func:`run`,
+:meth:`Popen.wait`, or :meth:`Popen.communicate`,
+users should be aware of the following behaviors:
+
+1. **Process Creation Delay**: The initial process creation itself cannot be interrupted
+ on many platform APIs. This means that even when specifying a timeout, you are not
+ guaranteed to see a timeout exception until at least after however long process
+ creation takes.
+
+2. **Extremely Small Timeout Values**: Setting very small timeout values (such as a few
+ milliseconds) may result in almost immediate :exc:`TimeoutExpired` exceptions because
+ process creation and system scheduling inherently require time.
+
.. _converting-argument-sequence:
Converting an argument sequence to a string on Windows