diff options
| author | J08nY | 2017-06-28 14:28:21 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-28 14:28:21 +0200 |
| commit | 4375993db38358073b4c76079ffcbd0f27c968e5 (patch) | |
| tree | 5bd96322f0abf49286cc9eb3d1a2bdaa8c58ed99 | |
| parent | 9fce6946a176a36fb83a0d21016175518ef02709 (diff) | |
| download | mailman-4375993db38358073b4c76079ffcbd0f27c968e5.tar.gz mailman-4375993db38358073b4c76079ffcbd0f27c968e5.tar.zst mailman-4375993db38358073b4c76079ffcbd0f27c968e5.zip | |
| -rw-r--r-- | src/mailman/bin/master.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mailman/bin/master.py b/src/mailman/bin/master.py index c6a8bcd2d..ef64f3d83 100644 --- a/src/mailman/bin/master.py +++ b/src/mailman/bin/master.py @@ -230,6 +230,9 @@ class PIDWatcher: def __init__(self): self._pids = {} + def __contains__(self, pid): + return pid in self._pids.keys() + def __iter__(self): # Safely iterate over all the keys in the dictionary. Because # asynchronous signals are involved, the dictionary's size could @@ -447,6 +450,10 @@ class Loop: continue else: raise + if pid not in self._kids: + # Not a runner subprocess, maybe a plugin started one + # ignore it + continue # Find out why the subprocess exited by getting the signal # received or exit status. if os.WIFSIGNALED(status): |
