From ada977aa9107cc9244e9f516b75425b860196a82 Mon Sep 17 00:00:00 2001 From: Faiyaz Ahmed Date: Thu, 8 May 2008 21:11:32 +0000 Subject: [PATCH] Revert to forking before calling VServer.start() to avoid creating zombies. --- sliver_vs.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sliver_vs.py b/sliver_vs.py index ab9a716..48d7a47 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -157,9 +157,14 @@ class Sliver_VS(accounts.Account, vserver.VServer): if self.rspec['enabled'] > 0: logger.log('%s: starting in %d seconds' % (self.name, delay)) time.sleep(delay) - # VServer.start calls fork() internally - vserver.VServer.start(self) - + child_pid = os.fork() + if child_pid == 0: + # VServer.start calls fork() internally, + # so just close the nonstandard fds and fork once to avoid creating zombies + tools.close_nonstandard_fds() + vserver.VServer.start(self) + os._exit(0) + else: os.waitpid(child_pid, 0) else: logger.log('%s: not starting, is not enabled' % self.name) self.initscriptchanged = False -- 2.43.0