changeset 44978:95c672c07116 stable

procutil: make recent fix for zombies compatible with py2 The fix in ed684a82e29b (procutil: always waiting on child processes to prevent zombies with 'hg serve', 2020-05-07) works only on Python 3 because it passes a `daemon` argument to `threading.Thread()`. Python 2 requires you to assign to the `.daemon` property instead. Python 3 also seems to support that, so this patch fixes the code by unconditionally using the old form. Differential Revision: https://phab.mercurial-scm.org/D8657
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 25 Jun 2020 00:06:23 -0700
parents afcad425a0b6
children 2fd8a8c11273
files mercurial/utils/procutil.py
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/utils/procutil.py	Wed Jun 24 04:25:34 2020 +0200
+++ b/mercurial/utils/procutil.py	Thu Jun 25 00:06:23 2020 -0700
@@ -615,7 +615,9 @@
                     def _do_wait():
                         os.waitpid(pid, 0)
 
-                    threading.Thread(target=_do_wait, daemon=True).start()
+                    t = threading.Thread(target=_do_wait)
+                    t.daemon = True
+                    t.start()
                     return
                 # Parent process
                 (_pid, status) = os.waitpid(pid, 0)