From 8e2506675355ddafcbaa9c999cdb8f636384a1e4 Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Mon, 1 Jun 2009 14:01:37 -0700 Subject: [PATCH] misc/run-with-pythonpath.py: exec() the child (on unix), to remove the intermediate process --- misc/run-with-pythonpath.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/misc/run-with-pythonpath.py b/misc/run-with-pythonpath.py index e23a15de..d402f7c5 100644 --- a/misc/run-with-pythonpath.py +++ b/misc/run-with-pythonpath.py @@ -34,6 +34,17 @@ if oldpp == [""]: newpp = os.pathsep.join(oldpp + [supportlib,]) os.environ['PYTHONPATH'] = newpp -command = sys.argv[1:] -rc = subprocess.call(command) -sys.exit(rc) +if sys.platform == "win32": + command = sys.argv[1:] + rc = subprocess.call(command) + sys.exit(rc) +else: + from twisted.python.procutils import which + cmd = sys.argv[1] + if cmd and cmd[0] not in "/~.": + cmds = which(cmd) + if not cmds: + print >>sys.stderr, "'%s' not found on PATH" % (cmd,) + sys.exit(-1) + cmd = cmds[0] + os.execve(cmd, sys.argv[1:], os.environ) -- 2.45.2