sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #08716
[Merge] ~ack/maas:workers-stop-no-change-iter into maas:master
Alberto Donato has proposed merging ~ack/maas:workers-stop-no-change-iter into maas:master.
Commit message:
materialize a list of workers before signaling them to stop
The workers might unregister themselves while the dict is iterated on.
Requested reviews:
MAAS Lander (maas-lander): unittests
MAAS Maintainers (maas-maintainers)
For more details, see:
https://code.launchpad.net/~ack/maas/+git/maas/+merge/443645
--
Your team MAAS Committers is subscribed to branch maas:master.
diff --git a/src/maasserver/workers.py b/src/maasserver/workers.py
index 11c3a03..9e9a0b1 100644
--- a/src/maasserver/workers.py
+++ b/src/maasserver/workers.py
@@ -74,7 +74,9 @@ class WorkersService(service.Service):
def stopService(self):
"""Stop the workers."""
self.stopping = True
- for pid, worker in self.workers.items():
+ # get a list of the workers since they might unregister while this is
+ # running
+ for pid, worker in list(self.workers.items()):
log.msg("Killing worker pid:%d." % pid)
worker.signal("KILL")