#15447: Use subprocess.DEVNULL in webbrowser, instead of opening

This eliminates a ResourceWarning, since before webbrowser was
explicitly opening os.devnull and then leaving it open.  Tests
to follow.

Patch by Anton Barkovsky.
This commit is contained in:
R David Murray 2012-09-03 12:44:29 -04:00
parent d674a770e9
commit 02ca144b92
2 changed files with 5 additions and 2 deletions

View File

@ -230,7 +230,7 @@ class UnixBrowser(BaseBrowser):
cmdline = [self.name] + raise_opt + args
if remote or self.background:
inout = io.open(os.devnull, "r+")
inout = subprocess.DEVNULL
else:
# for TTY browsers, we need stdin/out
inout = None
@ -354,7 +354,7 @@ class Konqueror(BaseBrowser):
else:
action = "openURL"
devnull = io.open(os.devnull, "r+")
devnull = subprocess.DEVNULL
# if possible, put browser in separate process group, so
# keyboard interrupts don't affect browser as well as Python
setsid = getattr(os, 'setsid', None)

View File

@ -21,6 +21,9 @@ Core and Builtins
Library
-------
- Issue #15447: Use subprocess.DEVNULL in webbrowser, instead of opening
os.devnull explicitly and leaving it open.
- Issue #15509: webbrowser.UnixBrowser no longer passes empty arguments to
Popen when %action substitutions produce empty strings.