From a4f850cd731c9beaa2ed7cb6073ce73730ae80ec Mon Sep 17 00:00:00 2001 From: Benoit Chesneau Date: Mon, 17 May 2010 05:38:03 +0200 Subject: [PATCH] fix reexec --- gunicorn/arbiter.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gunicorn/arbiter.py b/gunicorn/arbiter.py index a2d5185e..c73eb1f1 100644 --- a/gunicorn/arbiter.py +++ b/gunicorn/arbiter.py @@ -78,11 +78,14 @@ class Arbiter(object): except: cwd = os.getcwd() + args = sys.argv[:] + args.insert(0, sys.executable) + # init start context self.START_CTX = { - "argv": copy.copy(sys.argv), + "args": args, "cwd": cwd, - 0: copy.copy(sys.argv[0]) + 0: sys.executable } def start(self): @@ -297,7 +300,7 @@ class Arbiter(object): os.environ['GUNICORN_FD'] = str(self.LISTENER.fileno()) os.chdir(self.START_CTX['cwd']) self.cfg.before_exec(self) - os.execlp(self.START_CTX[0], *self.START_CTX['argv']) + os.execvpe(self.START_CTX[0], self.START_CTX['args'], os.environ) def murder_workers(self): """\