[issue17018] Inconsistent behaviour of methods waiting for child process
Changes by Richard Oudkerk shibt...@gmail.com: -- resolution: - fixed stage: - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17018 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17018] Inconsistent behaviour of methods waiting for child process
Roundup Robot added the comment: New changeset 92003d9aae0e by Richard Oudkerk in branch '2.7': Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR. http://hg.python.org/cpython/rev/92003d9aae0e New changeset 5fae31006724 by Richard Oudkerk in branch '3.2': Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR. http://hg.python.org/cpython/rev/5fae31006724 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17018 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17018] Inconsistent behaviour of methods waiting for child process
New submission from Marcin Szewczyk: I've done some experiments with: 1) multiprocessing.Process.join() 2) os.waitpid() 3) subprocess.Popen.wait() These three methods behave completely different when interrupted with a signal which I find disturbing. Reactions are: 1) exit with no exception or special return code 2) OSError exception 3) quiet retry (no exit) The 1) case is very impractical. Is there any movement towards standardization of those 3? Now I know I can loop around Process.join() and check exitcode or is_alive, but it requires more code. It has been pointed out that it changed between 2.6 and 2.7. Associated bug: http://bugs.python.org/issue1731717 Relevant sources: http://svn.python.org/view/python/branches/release26-maint/Lib/multiprocessing/forking.py?revision=84031view=markup http://hg.python.org/releasing/2.7.3/file/7bb96963d067/Lib/multiprocessing/forking.py http://hg.python.org/cpython/rev/41aef062d529/ I think the behaviour of those three should be at least documented, especially if every one of them behaves differently and it changes between versions. My environment is: $ python --version Python 2.7.3rc2 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description:Debian GNU/Linux 7.0 (wheezy) Release:7.0 Codename: wheezy $ uname -a Linux magazyn-ziarno 3.2.0-4-686-pae #1 SMP Debian 3.2.35-2 i686 GNU/Linux Filing a bug as advised on python-dev mailing list (kdmikh$h3h$1...@ger.gmane.org). -- messages: 180465 nosy: wodny priority: normal severity: normal status: open title: Inconsistent behaviour of methods waiting for child process type: behavior versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17018 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17018] Inconsistent behaviour of methods waiting for child process
Changes by Jakub Wilk jw...@jwilk.net: -- nosy: +jwilk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17018 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17018] Inconsistent behaviour of methods waiting for child process
Changes by Richard Oudkerk shibt...@gmail.com: -- nosy: +sbt ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17018 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com