Dan Kenigsberg has posted comments on this change. Change subject: supervdsm: Add zombiereaper to supervdsm ......................................................................
Patch Set 11: (1 comment) http://gerrit.ovirt.org/#/c/28915/11/vdsm/supervdsmServer File vdsm/supervdsmServer: Line 255: if err is not None: Line 256: raise err Line 257: Line 258: return res Line 259: finally: I am shocked about the unpredictable semantics of terminate(). Do you understand why it waits only if kill() failed? I think that we should take care to separate between the positive flow (process waited upon) and the negative one (process not yet collected), and auto-reap only the latter case. Auto-reaping an already-collected pid has a slim race: proc.pid may already belong to another child process. Yes, it's not probable that pids would recycle so quickly, and would be re-used by another child process of supervdsm. But still, it's plain ugly. I think that placing if proc.returncode is None: zombiereaper.autoReapPID(proc.pid) in the except clause, would do the trick (but please verify). Line 260: zombiereaper.autoReapPID(proc.pid) Line 261: Line 262: @logDecorator Line 263: def validateAccess(self, user, groups, *args, **kwargs): -- To view, visit http://gerrit.ovirt.org/28915 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5333caf7a1162c5d783f556bb9204fb74d1ab469 Gerrit-PatchSet: 11 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dima Kuznetsov <[email protected]> Gerrit-Reviewer: Dan Kenigsberg <[email protected]> Gerrit-Reviewer: Dima Kuznetsov <[email protected]> Gerrit-Reviewer: Yaniv Bronhaim <[email protected]> Gerrit-Reviewer: [email protected] Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
