Fix webbrowser.BackgroundBrowser on Windows.

This commit is contained in:
Georg Brandl 2006-09-24 10:36:01 +00:00
parent e042601251
commit 2c94bf7d41
2 changed files with 14 additions and 5 deletions

View file

@ -165,7 +165,10 @@ class GenericBrowser(BaseBrowser):
cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args]
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()
except OSError:
return False
@ -178,11 +181,14 @@ class BackgroundBrowser(GenericBrowser):
def open(self, url, new=0, autoraise=1):
cmdline = [self.name] + [arg.replace("%s", url)
for arg in self.args]
setsid = getattr(os, 'setsid', None)
if not setsid:
setsid = getattr(os, 'setpgrp', None)
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)
except OSError:
return False

View file

@ -52,6 +52,9 @@ Core and builtins
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.
- Patch #1553314: Fix the inspect.py slowdown that was hurting IPython & SAGE