[oe-commits] [openembedded-core] 03/32: scripts/runqemu: Improve lockfile handling for python with close_fd=True

git at git.openembedded.org git at git.openembedded.org
Thu Dec 6 10:51:34 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch sumo-next
in repository openembedded-core.

commit d3b3c55ddc312039380ce8e23e68dd8bb2439388
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Wed Nov 28 17:31:39 2018 +0000

    scripts/runqemu: Improve lockfile handling for python with close_fd=True
    
    On python versions with close_fds=True (python 3.2 onwards), the tap
    device lockfile isn't passed to the child process.
    
    Since this guards against use of an active interface, we really want this
    here, so pass it in pass_fds. This means if the parent exits early, the child
    still holds the lock, avoiding messages like:
    
    runqemu - ERROR - Failed to run qemu: qemu-system-x86_64: could not configure /dev/net/tun (tap0): Device or resource busy
    
    (From OE-Core rev: 17a0a067d597c445c5892ff9914e91a2187f7e09)
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 scripts/runqemu | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index a83c8a6..c6b7580 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1215,7 +1215,10 @@ class BaseConfig(object):
         cmd = "%s %s" % (self.qemu_opt, kernel_opts)
         cmds = shlex.split(cmd)
         logger.info('Running %s\n' % cmd)
-        process = subprocess.Popen(cmds, stderr=subprocess.PIPE)
+        pass_fds = []
+        if self.lock_descriptor:
+            pass_fds = [self.lock_descriptor.fileno()]
+        process = subprocess.Popen(cmds, stderr=subprocess.PIPE, pass_fds=pass_fds)
         self.qemupid = process.pid
         retcode = process.wait()
         if retcode:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list