diff options
author | Georg Brandl <georg@python.org> | 2010-10-17 10:51:45 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-10-17 10:51:45 (GMT) |
commit | 6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d (patch) | |
tree | 7af9670e76222c123437cd1aed4ff95fb9f60c8c | |
parent | a192828ea138189b9abfbe3912c62e8c0bb4319f (diff) | |
download | cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.zip cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.tar.gz cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.tar.bz2 |
#5962: clarify sys.exit() vs. threads.
-rw-r--r-- | Doc/library/os.rst | 6 | ||||
-rw-r--r-- | Doc/library/sys.rst | 32 |
2 files changed, 22 insertions, 16 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst index c8e5b96..cb9d9c4 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -1576,15 +1576,15 @@ to be ignored. .. function:: _exit(n) - Exit to the system with status *n*, without calling cleanup handlers, flushing + Exit the process with status *n*, without calling cleanup handlers, flushing stdio buffers, etc. Availability: Unix, Windows. .. note:: - The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally only - be used in the child process after a :func:`fork`. + The standard way to exit is ``sys.exit(n)``. :func:`_exit` should + normally only be used in the child process after a :func:`fork`. The following exit codes are defined and can be used with :func:`_exit`, although they are not required. These are typically used for system programs diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 7b44c86..6540311 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -180,19 +180,25 @@ always available. Exit from Python. This is implemented by raising the :exc:`SystemExit` exception, so cleanup actions specified by finally clauses of :keyword:`try` - statements are honored, and it is possible to intercept the exit attempt at an - outer level. The optional argument *arg* can be an integer giving the exit - status (defaulting to zero), or another type of object. If it is an integer, - zero is considered "successful termination" and any nonzero value is considered - "abnormal termination" by shells and the like. Most systems require it to be in - the range 0-127, and produce undefined results otherwise. Some systems have a - convention for assigning specific meanings to specific exit codes, but these are - generally underdeveloped; Unix programs generally use 2 for command line syntax - errors and 1 for all other kind of errors. If another type of object is passed, - ``None`` is equivalent to passing zero, and any other object is printed to - ``sys.stderr`` and results in an exit code of 1. In particular, - ``sys.exit("some error message")`` is a quick way to exit a program when an - error occurs. + statements are honored, and it is possible to intercept the exit attempt at + an outer level. + + The optional argument *arg* can be an integer giving the exit status + (defaulting to zero), or another type of object. If it is an integer, zero + is considered "successful termination" and any nonzero value is considered + "abnormal termination" by shells and the like. Most systems require it to be + in the range 0-127, and produce undefined results otherwise. Some systems + have a convention for assigning specific meanings to specific exit codes, but + these are generally underdeveloped; Unix programs generally use 2 for command + line syntax errors and 1 for all other kind of errors. If another type of + object is passed, ``None`` is equivalent to passing zero, and any other + object is printed to :data:`stderr` and results in an exit code of 1. In + particular, ``sys.exit("some error message")`` is a quick way to exit a + program when an error occurs. + + Since :func:`exit` ultimately "only" raises an exception, it will only exit + the process when called from the main thread, and the exception is not + intercepted. .. data:: flags |