Kaydet (Commit) 2c94bf7d authored tarafından Georg Brandl's avatar Georg Brandl

Fix webbrowser.BackgroundBrowser on Windows.

üst e0426012
...@@ -165,7 +165,10 @@ class GenericBrowser(BaseBrowser): ...@@ -165,7 +165,10 @@ class GenericBrowser(BaseBrowser):
cmdline = [self.name] + [arg.replace("%s", url) cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args] for arg in self.args]
try: try:
p = subprocess.Popen(cmdline, close_fds=True) if sys.platform[:3] == 'win':
p = subprocess.Popen(cmdline)
else:
p = subprocess.Popen(cmdline, close_fds=True)
return not p.wait() return not p.wait()
except OSError: except OSError:
return False return False
...@@ -178,11 +181,14 @@ class BackgroundBrowser(GenericBrowser): ...@@ -178,11 +181,14 @@ class BackgroundBrowser(GenericBrowser):
def open(self, url, new=0, autoraise=1): def open(self, url, new=0, autoraise=1):
cmdline = [self.name] + [arg.replace("%s", url) cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args] for arg in self.args]
setsid = getattr(os, 'setsid', None)
if not setsid:
setsid = getattr(os, 'setpgrp', None)
try: try:
p = subprocess.Popen(cmdline, close_fds=True, preexec_fn=setsid) if sys.platform[:3] == 'win':
p = subprocess.Popen(cmdline)
else:
setsid = getattr(os, 'setsid', None)
if not setsid:
setsid = getattr(os, 'setpgrp', None)
p = subprocess.Popen(cmdline, close_fds=True, preexec_fn=setsid)
return (p.poll() is None) return (p.poll() is None)
except OSError: except OSError:
return False return False
......
...@@ -52,6 +52,9 @@ Core and builtins ...@@ -52,6 +52,9 @@ Core and builtins
Library Library
------- -------
- Make webbrowser.BackgroundBrowser usable in Windows (it wasn't because
the close_fds arg to subprocess.Popen is not supported).
- Reverted patch #1504333 to sgmllib because it introduced an infinite loop. - Reverted patch #1504333 to sgmllib because it introduced an infinite loop.
- Patch #1553314: Fix the inspect.py slowdown that was hurting IPython & SAGE - Patch #1553314: Fix the inspect.py slowdown that was hurting IPython & SAGE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment