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-01 11:37:49 +0000
commit58e48211f7cb44d959b571d449a94291c27535a5 (patch)
tree230583b1ede34ed4339b514ec5e4cc37b812a75b /scripts
parented80e46ccbc8fe8e9148d80723152066fa00ba28 (diff)
downloadopenembedded-core-contrib-58e48211f7cb44d959b571d449a94291c27535a5.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 3786646c5d..d25de42f27 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -220,7 +220,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',
@@ -254,13 +254,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:
@@ -1237,9 +1241,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...")