From: Richard Oudkerk Date: Tue, 26 Feb 2013 13:11:11 +0000 (+0000) Subject: Merge X-Git-Tag: v3.4.0a1~1314 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0320025f1782ae33584fe4137bf0018fde98f467;p=thirdparty%2FPython%2Fcpython.git Merge --- 0320025f1782ae33584fe4137bf0018fde98f467 diff --cc Lib/multiprocessing/forking.py index d3e7a1065629,0bb21c469d5e..7bda412e8dff --- a/Lib/multiprocessing/forking.py +++ b/Lib/multiprocessing/forking.py @@@ -109,12 -110,17 +110,17 @@@ if sys.platform != 'win32' def poll(self, flag=os.WNOHANG): if self.returncode is None: - try: - pid, sts = os.waitpid(self.pid, flag) - except OSError: - # Child process not yet created. See #1731717 - # e.errno == errno.ECHILD == 10 - return None + while True: + try: + pid, sts = os.waitpid(self.pid, flag) - except os.error as e: ++ except OSError as e: + if e.errno == errno.EINTR: + continue + # Child process not yet created. See #1731717 + # e.errno == errno.ECHILD == 10 + return None + else: + break if pid == self.pid: if os.WIFSIGNALED(sts): self.returncode = -os.WTERMSIG(sts) diff --cc Misc/NEWS index 03d4b9486658,76074e168dc5..8917b53a2a69 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -270,9 -191,8 +270,11 @@@ Core and Builtin Library ------- + - Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR. + +- Issue #17197: profile/cProfile modules refactored so that code of run() and + runctx() utility functions is not duplicated in both modules. + - Issue #14720: sqlite3: Convert datetime microseconds correctly. Patch by Lowe Thiderman.