Merge "Do not import anything from quantum into rootwrap" into stable/grizzly

This commit is contained in:
Jenkins 2013-06-14 14:28:41 +00:00 committed by Gerrit Code Review
commit 9b38a4b4b7
1 changed files with 13 additions and 7 deletions

View File

@ -39,16 +39,21 @@
import ConfigParser
import os
import signal
import subprocess
import sys
from quantum.common import utils
RC_UNAUTHORIZED = 99
RC_NOCOMMAND = 98
RC_BADCONFIG = 97
def _subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what
# non-Python subprocesses expect.
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
if __name__ == '__main__':
# Split arguments, require at least a command
execname = sys.argv.pop(0)
@ -82,11 +87,12 @@ if __name__ == '__main__':
filters = wrapper.load_filters(filters_path)
filtermatch = wrapper.match_filter(filters, userargs)
if filtermatch:
obj = utils.subprocess_popen(filtermatch.get_command(userargs),
stdin=sys.stdin,
stdout=sys.stdout,
stderr=sys.stderr,
env=filtermatch.get_environment(userargs))
obj = subprocess.Popen(filtermatch.get_command(userargs),
stdin=sys.stdin,
stdout=sys.stdout,
stderr=sys.stderr,
preexec_fn=_subprocess_setup,
env=filtermatch.get_environment(userargs))
obj.wait()
sys.exit(obj.returncode)