runqemu: fix a race issue on lockdir
cover runqemu: fix a race issue on lockdir
The following changes since commit 4d268abc2fc892c5d34449f78c8e9f2b1a9d6bac:
oeqa.runtime.smart: work around smart race issues (2016-09-09 12:12:17 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/rq
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/rq
Robert Yang (1):
runqemu: fix a race issue on lockdir
scripts/runqemu | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
Signature · 1 line
2.9.0
PATCH 1/1 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'
Signed-off-by Robert Yang <[email protected]>
--- scripts/runqemu | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
scripts/runqemu +6 -1
@@ -694,7 +694,12 @@ class BaseConfig(object): raise Exception("runqemu-ifup, runqemu-ifdown or ip not found") 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 logger.info('Running %s...' % cmd)
Signature · 1 line
2.9.0