[OE-core] [PATCH 02/45] scripts/runqemu: Tidy up lock handling code
Armin Kuster
akuster808 at gmail.com
Thu Dec 13 21:38:10 UTC 2018
From: Richard Purdie <richard.purdie at linuxfoundation.org>
Various tweaks:
- Balance up the aquire/release functions
- Use debug messge for both acquiring and release message for consistency in logs
- Use None instead of an empty string
- Reset the value of the field if we don't have the lock any more
(From OE-Core rev: d3c052e6ccd81d544b23a3bee80ba00cafaedbbd)
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
scripts/runqemu | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index c9a351e..a83c8a6 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -218,7 +218,7 @@ class BaseConfig(object):
self.tcpserial_portnum = ''
self.custombiosdir = ''
self.lock = ''
- self.lock_descriptor = ''
+ self.lock_descriptor = None
self.bitbake_e = ''
self.snapshot = False
self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs',
@@ -252,13 +252,17 @@ class BaseConfig(object):
logger.info(msg)
if self.lock_descriptor:
self.lock_descriptor.close()
+ self.lock_descriptor = None
return False
return True
def release_lock(self):
- fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN)
- self.lock_descriptor.close()
- os.remove(self.lock)
+ if self.lock_descriptor:
+ logger.debug("Releasing lockfile for tap device '%s'" % self.tap)
+ fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN)
+ self.lock_descriptor.close()
+ os.remove(self.lock)
+ self.lock_descriptor = None
def get(self, key):
if key in self.d:
@@ -1232,9 +1236,7 @@ class BaseConfig(object):
cmd = 'sudo %s %s %s' % (self.qemuifdown, self.tap, self.bindir_native)
logger.debug('Running %s' % cmd)
subprocess.check_call(cmd, shell=True)
- if self.lock_descriptor:
- logger.info("Releasing lockfile for tap device '%s'" % self.tap)
- self.release_lock()
+ self.release_lock()
if self.nfs_running:
logger.info("Shutting down the userspace NFS server...")
--
2.7.4
More information about the Openembedded-core
mailing list