2014-02-09 2:37 GMT+01:00 Victor Stinner <[email protected]>: > But there is a second race condition which should also concern Tulip: > if Popen.wait() or Popen.poll() is called after the process exited, > the return code cannot be retrieved in Popen because asyncio already > called os.waitpid(). In Python 3.3, Popen.wait() uses the exit code 0 > in this case. In Python 2.7, an error is raised (ESRCH).
I wrote a unit test to check that Process and Popen has the same returncode, but I missed this bug because the unit test uses a program which exit with exit code 0 :-) Victor
