diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-09-21 20:14:03 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-09-21 20:19:15 -0700 |
commit | e72be96cfa9f05fda5f420c7cfa8bcfa9304b884 (patch) | |
tree | f05675cbea043111baf376f56e5c6c582b518149 | |
parent | 407d6e07b09123c12c382b4a92107f002c314b05 (diff) | |
download | bitbake-contrib-e72be96cfa9f05fda5f420c7cfa8bcfa9304b884.tar.gz |
daemonize/build: Clean up /dev/null fd handling
At the end of bitbake selftest we see:
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='r+' encoding='UTF-8'>
Clean up the /dev/null handling to drop the unused entry in build.by and
ensure the other open() calls are cleaned up.
NULL was unused since http://git.yoctoproject.org/cgit.cgi/poky/commit/bitbake/lib/bb/build.py?id=4a081b5a52e3d27da8d4b062f3fda292e8d8fb0a
back in 2012.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/build.py | 7 | ||||
-rw-r--r-- | lib/bb/daemonize.py | 4 |
2 files changed, 4 insertions, 7 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py index c79354b3f..3e2a94edb 100644 --- a/lib/bb/build.py +++ b/lib/bb/build.py @@ -41,8 +41,6 @@ from bb import data, event, utils bblogger = logging.getLogger('BitBake') logger = logging.getLogger('BitBake.Build') -NULL = open(os.devnull, 'r+') - __mtime_cache = {} def cached_mtime_noerror(f): @@ -533,7 +531,6 @@ def _exec_task(fn, task, d, quieterr): self.triggered = True # Handle logfiles - si = open('/dev/null', 'r') try: bb.utils.mkdirhier(os.path.dirname(logfn)) logfile = open(logfn, 'w') @@ -547,7 +544,8 @@ def _exec_task(fn, task, d, quieterr): ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()] # Replace those fds with our own - os.dup2(si.fileno(), osi[1]) + with open('/dev/null', 'r') as si: + os.dup2(si.fileno(), osi[1]) os.dup2(logfile.fileno(), oso[1]) os.dup2(logfile.fileno(), ose[1]) @@ -608,7 +606,6 @@ def _exec_task(fn, task, d, quieterr): os.close(osi[0]) os.close(oso[0]) os.close(ose[0]) - si.close() logfile.close() if os.path.exists(logfn) and os.path.getsize(logfn) == 0: diff --git a/lib/bb/daemonize.py b/lib/bb/daemonize.py index 613fb3553..c937675eb 100644 --- a/lib/bb/daemonize.py +++ b/lib/bb/daemonize.py @@ -65,8 +65,8 @@ def createDaemon(function, logfile): # The second child. # Replace standard fds with our own - si = open('/dev/null', 'r') - os.dup2(si.fileno(), sys.stdin.fileno()) + with open('/dev/null', 'r') as si: + os.dup2(si.fileno(), sys.stdin.fileno()) try: so = open(logfile, 'a+') |