diff options
author | Georg Brandl <georg@python.org> | 2006-09-24 10:36:08 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-09-24 10:36:08 (GMT) |
commit | 1f2157896524c174f39143bc8e4c8dbf22027a24 (patch) | |
tree | 94ee48a57c0cd540ade0373e78b07e360ed0cfae /Lib | |
parent | af4e3ee3658d92e0012028d52956a53848782133 (diff) | |
download | cpython-1f2157896524c174f39143bc8e4c8dbf22027a24.zip cpython-1f2157896524c174f39143bc8e4c8dbf22027a24.tar.gz cpython-1f2157896524c174f39143bc8e4c8dbf22027a24.tar.bz2 |
Fix webbrowser.BackgroundBrowser on Windows.
(backport from rev. 51991)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/webbrowser.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py index 7a1a3b4..7b0f736 100644 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -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 |