New submission from Antony Lee <anntzer....@gmail.com>:

Currently, the documentation for Popen.returncode states

    The child return code, set by poll() and wait() (and indirectly by 
communicate()). A None value indicates that the process hasn’t terminated yet.

    A negative value -N indicates that the child was terminated by signal N 
(POSIX only).

As far back as https://bugs.python.org/issue1727024 it had been suggested that 
this fails to emphasize an important piece of information, namely that this 
attribute can be outdated (it is *only* set if poll() or wait() are called; 
this is not obvious, e.g. returncode could have beeen implemented as a property 
that auto-calls poll()).  I do realize that a strict reading of the docs does 
suggest the actual behavior, but a bit of explicitness won't hurt...

The wording suggested in https://bugs.python.org/issue1727024 seems clearer to 
me ("Note: The value stored in returncode may be out-of-date. Use poll() to 
reliably find the current return code.").

----------
assignee: docs@python
components: Documentation
messages: 387463
nosy: Antony.Lee, docs@python
priority: normal
severity: normal
status: open
title: Clarify that Popen.returncode does not get auto-set when the process 
terminates
versions: Python 3.10

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue43286>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to