scripts/runqemu: split lock dir creation into a reusable function

(From OE-Core rev: d296853f1c5bcc6ccd800a4fbcbba18021f98518)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 004d6bcb067ecf1d796801fa43a98820c4efd3c7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Alexander Kanavin
2023-06-14 15:00:46 +02:00
committed by Steve Sakoman
parent 0a24a5bb3b
commit b30e81df2b

View File

@@ -1034,6 +1034,17 @@ class BaseConfig(object):
self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % (
self.net_bridge, os.path.join(self.bindir_native, 'qemu-oe-bridge-helper')))
def make_lock_dir(self, lockdir):
if not os.path.exists(lockdir):
# There might be a race issue when multi runqemu processess are
# running at the same time.
try:
os.mkdir(lockdir)
os.chmod(lockdir, 0o777)
except FileExistsError:
pass
return
def setup_slirp(self):
"""Setup user networking"""
@@ -1052,14 +1063,7 @@ class BaseConfig(object):
mac = 2
lockdir = "/tmp/qemu-port-locks"
if not os.path.exists(lockdir):
# There might be a race issue when multi runqemu processess are
# running at the same time.
try:
os.mkdir(lockdir)
os.chmod(lockdir, 0o777)
except FileExistsError:
pass
self.make_lock_dir(lockdir)
# Find a free port to avoid conflicts
for p in ports[:]:
@@ -1099,14 +1103,7 @@ class BaseConfig(object):
logger.error("ip: %s" % ip)
raise OEPathError("runqemu-ifup, runqemu-ifdown or ip not found")
if not os.path.exists(lockdir):
# There might be a race issue when multi runqemu processess are
# running at the same time.
try:
os.mkdir(lockdir)
os.chmod(lockdir, 0o777)
except FileExistsError:
pass
self.make_lock_dir(lockdir)
cmd = (ip, 'link')
logger.debug('Running %s...' % str(cmd))