From 02ca144b92eef8d2b8da10c7b70b4e9d42480b9b Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 3 Sep 2012 12:44:29 -0400 Subject: [PATCH] #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. --- Lib/webbrowser.py | 4 ++-- Misc/NEWS | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py index 861742538e..94d4ad42e6 100644 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -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) diff --git a/Misc/NEWS b/Misc/NEWS index 93bc1dba61..0463aa24a3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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. -- 2.40.0