summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-21 20:14:03 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-22 15:52:12 -0700
commitc942230eee405d35b99d85a3e9d8b00ce11d2222 (patch)
tree1746accff0c638dfd28899f3a468d5829bb69a34
parent7be6abc98d6e78814ac1a94ebb162073671659b8 (diff)
downloadpoky-c942230eee405d35b99d85a3e9d8b00ce11d2222.tar.gz
bitbake: 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. (Bitbake rev: e72be96cfa9f05fda5f420c7cfa8bcfa9304b884) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/build.py7
-rw-r--r--bitbake/lib/bb/daemonize.py4
2 files changed, 4 insertions, 7 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index c79354b3f1..3e2a94edb1 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -41,8 +41,6 @@ from bb import data, event, utils
41bblogger = logging.getLogger('BitBake') 41bblogger = logging.getLogger('BitBake')
42logger = logging.getLogger('BitBake.Build') 42logger = logging.getLogger('BitBake.Build')
43 43
44NULL = open(os.devnull, 'r+')
45
46__mtime_cache = {} 44__mtime_cache = {}
47 45
48def cached_mtime_noerror(f): 46def cached_mtime_noerror(f):
@@ -533,7 +531,6 @@ def _exec_task(fn, task, d, quieterr):
533 self.triggered = True 531 self.triggered = True
534 532
535 # Handle logfiles 533 # Handle logfiles
536 si = open('/dev/null', 'r')
537 try: 534 try:
538 bb.utils.mkdirhier(os.path.dirname(logfn)) 535 bb.utils.mkdirhier(os.path.dirname(logfn))
539 logfile = open(logfn, 'w') 536 logfile = open(logfn, 'w')
@@ -547,7 +544,8 @@ def _exec_task(fn, task, d, quieterr):
547 ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()] 544 ose = [os.dup(sys.stderr.fileno()), sys.stderr.fileno()]
548 545
549 # Replace those fds with our own 546 # Replace those fds with our own
550 os.dup2(si.fileno(), osi[1]) 547 with open('/dev/null', 'r') as si:
548 os.dup2(si.fileno(), osi[1])
551 os.dup2(logfile.fileno(), oso[1]) 549 os.dup2(logfile.fileno(), oso[1])
552 os.dup2(logfile.fileno(), ose[1]) 550 os.dup2(logfile.fileno(), ose[1])
553 551
@@ -608,7 +606,6 @@ def _exec_task(fn, task, d, quieterr):
608 os.close(osi[0]) 606 os.close(osi[0])
609 os.close(oso[0]) 607 os.close(oso[0])
610 os.close(ose[0]) 608 os.close(ose[0])
611 si.close()
612 609
613 logfile.close() 610 logfile.close()
614 if os.path.exists(logfn) and os.path.getsize(logfn) == 0: 611 if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
diff --git a/bitbake/lib/bb/daemonize.py b/bitbake/lib/bb/daemonize.py
index 613fb35536..c937675eb6 100644
--- a/bitbake/lib/bb/daemonize.py
+++ b/bitbake/lib/bb/daemonize.py
@@ -65,8 +65,8 @@ def createDaemon(function, logfile):
65 # The second child. 65 # The second child.
66 66
67 # Replace standard fds with our own 67 # Replace standard fds with our own
68 si = open('/dev/null', 'r') 68 with open('/dev/null', 'r') as si:
69 os.dup2(si.fileno(), sys.stdin.fileno()) 69 os.dup2(si.fileno(), sys.stdin.fileno())
70 70
71 try: 71 try:
72 so = open(logfile, 'a+') 72 so = open(logfile, 'a+')