]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
#1579477: mention necessity to flush output before exec'ing
authorAndrew M. Kuchling <amk@amk.ca>
Sun, 28 Sep 2008 00:15:27 +0000 (00:15 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Sun, 28 Sep 2008 00:15:27 +0000 (00:15 +0000)
Doc/library/os.rst

index 0aa115dff729387123b4aa8520bfeb3edfe4f42e..c223e549b74931bd99bd16fee02a1b6b26121e4c 100644 (file)
@@ -1451,7 +1451,13 @@ to be ignored.
    These functions all execute a new program, replacing the current process; they
    do not return.  On Unix, the new executable is loaded into the current process,
    and will have the same process id as the caller.  Errors will be reported as
-   :exc:`OSError` exceptions.
+   :exc:`OSError` exceptions.  
+
+   The current process is replaced immediately. Open file objects and
+   descriptors are not flushed, so if there may be data buffered
+   on these open files, you should flush them using
+   :func:`sys.stdout.flush` or :func:`os.fsync` before calling an
+   :func:`exec\*` function.
 
    The "l" and "v" variants of the :func:`exec\*` functions differ in how
    command-line arguments are passed.  The "l" variants are perhaps the easiest
@@ -1477,8 +1483,9 @@ to be ignored.
    used to define the environment variables for the new process (these are used
    instead of the current process' environment); the functions :func:`execl`,
    :func:`execlp`, :func:`execv`, and :func:`execvp` all cause the new process to
-   inherit the environment of the current process. Availability: Unix,
-   Windows.
+   inherit the environment of the current process. 
+
+   Availability: Unix, Windows.
 
 
 .. function:: _exit(n)