aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-28 17:30:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-06 10:13:41 +0000
commit2728394ed75526f338cc9cb6bc62fb0ed6dc605f (patch)
tree3b7ef3d1ec5235fcc8d1e6d2a8e9c8a38493b30c /scripts
parent4ba803d9834565cbe9a89838eb2fcf0328c44bef (diff)
downloadopenembedded-core-contrib-2728394ed75526f338cc9cb6bc62fb0ed6dc605f.tar.gz
scripts/runqemu: Tidy up lock handling code
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 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu16
1 files changed, 9 insertions, 7 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 1fc27e5069..1eeafa9f5b 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:
@@ -1235,9 +1239,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...")