aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-28 17:31:39 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-06 10:14:14 +0000
commitd3b3c55ddc312039380ce8e23e68dd8bb2439388 (patch)
tree77ed667f7d0b657ec5225f095afd2252b4a25e1c /scripts
parentd3c052e6ccd81d544b23a3bee80ba00cafaedbbd (diff)
downloadopenembedded-core-contrib-d3b3c55ddc312039380ce8e23e68dd8bb2439388.tar.gz
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@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu5
1 files changed, 4 insertions, 1 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index a83c8a6944..c6b7580ddc 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: