[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2503/8267] runqemu: acquire_lock() should fail when failed to open the file
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 2503/8267] runqemu: acquire_lock() should fail when failed to open the file
- Date: Sat, 16 Dec 2017 23:19:18 +0000 (UTC)
commit 6a5bd99bfc334756752e091445ddf46d6b44aa8d
Author: Robert Yang <liezhi yang windriver com>
Date: Mon Sep 19 00:20:08 2016 -0700
runqemu: acquire_lock() should fail when failed to open the file
The open(self.lock, 'w') may fail when the lock is created by other
users, return false for this case to let it try other devices.
Fixed:
runqemu - INFO - Running /sbin/ip link...
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
Traceback (most recent call last):
File "/buildarea/lyang1/poky/scripts/runqemu", line 972, in <module>
ret = main()
File "/buildarea/lyang1/poky/scripts/runqemu", line 963, in main
config.setup_network()
File "/buildarea/lyang1/poky/scripts/runqemu", line 810, in setup_network
self.setup_tap()
File "/buildarea/lyang1/poky/scripts/runqemu", line 761, in setup_tap
if self.acquire_lock():
File "/buildarea/lyang1/poky/scripts/runqemu", line 182, in acquire_lock
lock_descriptor = open(self.lock, 'w')
PermissionError: [Errno 13] Permission denied: '/tmp/qemu-tap-locks/tap0.lock'
(From OE-Core rev: f364f773a0381a75b5992c8c8a1d63a81dbd4422)
Signed-off-by: Robert Yang <liezhi yang windriver com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
scripts/runqemu | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/scripts/runqemu b/scripts/runqemu
index b6bc0ba..3805685 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -168,14 +168,14 @@ class BaseConfig(object):
def acquire_lock(self):
logger.info("Acquiring lockfile %s..." % self.lock)
- lock_descriptor = open(self.lock, 'w')
try:
- fcntl.flock(lock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB)
+ self.lock_descriptor = open(self.lock, 'w')
+ fcntl.flock(self.lock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB)
except Exception as e:
logger.info("Acquiring lockfile %s failed: %s" % (self.lock, e))
- lock_descriptor.close()
+ if self.lock_descriptor:
+ self.lock_descriptor.close()
return False
- self.lock_descriptor = lock_descriptor
return True
def release_lock(self):
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]