runqemu: fix a race issue on lockdir
There might be a race issue when multi runqemu processess are running at the same time: | Traceback (most recent call last): | File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-ipk/build/scripts/runqemu", line 920, in <module> | ret = main() | File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-ipk/build/scripts/runqemu", line 911, in main | config.setup_network() | File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-ipk/build/scripts/runqemu", line 760, in setup_network | self.setup_tap() | File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-ipk/build/scripts/runqemu", line 697, in setup_tap | os.mkdir(lockdir) | FileExistsError: [Errno 17] File exists: '/tmp/qemu-tap-locks' (From OE-Core rev: ec33043477a0b915b0911f7d7eacb24361e4aaa8) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
edc92ea8de
commit
26e46e6d90
|
@ -694,7 +694,12 @@ class BaseConfig(object):
|
||||||
raise Exception("runqemu-ifup, runqemu-ifdown or ip not found")
|
raise Exception("runqemu-ifup, runqemu-ifdown or ip not found")
|
||||||
|
|
||||||
if not os.path.exists(lockdir):
|
if not os.path.exists(lockdir):
|
||||||
os.mkdir(lockdir)
|
# There might be a race issue when multi runqemu processess are
|
||||||
|
# running at the same time.
|
||||||
|
try:
|
||||||
|
os.mkdir(lockdir)
|
||||||
|
except FileExistsError:
|
||||||
|
pass
|
||||||
|
|
||||||
cmd = '%s link' % ip
|
cmd = '%s link' % ip
|
||||||
logger.info('Running %s...' % cmd)
|
logger.info('Running %s...' % cmd)
|
||||||
|
|
Loading…
Reference in New Issue