From: Faiyaz Ahmed Date: Wed, 19 Jul 2006 18:55:06 +0000 (+0000) Subject: waitpid for forked processes. Was zombie'ing before. X-Git-Tag: planetlab-4_0-rc1~35 X-Git-Url: http://git.onelab.eu/?p=mom.git;a=commitdiff_plain;h=b2d6b8578d32cc2481ea3e11d3a1e391862289d3 waitpid for forked processes. Was zombie'ing before. --- diff --git a/swapmon.py b/swapmon.py index 83b4ec1..8425b4d 100755 --- a/swapmon.py +++ b/swapmon.py @@ -194,14 +194,17 @@ class Reset: print kill_subject % params print kill_body % params try: - self.pid = os.fork() - if self.pid == 0: + pid = os.fork() + if pid == 0: print "Slice %s is being killed." % self.name vserver = VServer(self.name) vserver.stop() os._exit(0) + else: + os.waitpid(pid,0) except Exception, err: - print "Warning: Exception received while killing slice %s: %s" % self.name, err + print "Warning: Exception received while killing slice %s: %s" \ + % self.name, err if (time.time() - self.killmail) > email_timeout: slicemail(self.name, kill_subject % params, kill_body % params) print "Sending KILL email for slice %s" % self.name @@ -235,6 +238,8 @@ class Reset: vserver.stop() vserver.start(wait = False) os._exit(0) + else: + os.waitpid(pid,0) except Exception, err: print "Warning: Exception received while resetting slice %s:" \ % self.name, err