Change in vdsm[master]: supervdsm: Add zombiereaper to supervdsm

dkuznets at redhat.com dkuznets at redhat.com
Thu Aug 14 11:42:23 UTC 2014


Dima Kuznetsov has posted comments on this change.

Change subject: supervdsm: Add zombiereaper to supervdsm
......................................................................


Patch Set 10:

(1 comment)

http://gerrit.ovirt.org/#/c/28915/10/vdsm/supervdsmServer
File vdsm/supervdsmServer:

Line 244:                 # If it didn't fail because process is already dead
Line 245:                 if e.errno != errno.ESRCH:
Line 246:                     raise
Line 247: 
Line 248:             raise Timeout()
> I thought that our problem is actually here - we raise Timeout without call
Actually, terminate() does not wait on child unless child has already returned:

        def terminate(self):
            if self.returncode is None:
                try:
                    os.kill(self.pid, signal.SIGTERM)
                except OSError, e:
                    if self.wait(timeout=0.1) is None:
                        raise

So when doing:
        pipe.send("Bye")
        proc.terminate()

chances are (unless the scheduling is very favorable) child won't get collected as it waits for the 'Bye'. However, you're correct, that if we get a timeout on the pipe, we'll get a zombie.
Line 249: 
Line 250:         try:
Line 251:             res, err = pipe.recv()
Line 252:             pipe.send("Bye")


-- 
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: 10
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dima Kuznetsov <dkuznets at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Dima Kuznetsov <dkuznets at redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei at redhat.com>
Gerrit-Reviewer: automation at ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes


More information about the vdsm-patches mailing list