[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2455/8267] runqemu: fix a race issue on lockdir



commit 26e46e6d902a952fd884f61460ec11b8aca01917
Author: Robert Yang <liezhi yang windriver com>
Date:   Wed Sep 14 02:45:57 2016 -0700

    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>

 scripts/runqemu |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/scripts/runqemu b/scripts/runqemu
index 9af13f3..b6bc0ba 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]