diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-11-28 17:30:10 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-12-06 10:13:41 +0000 |
commit | 2728394ed75526f338cc9cb6bc62fb0ed6dc605f (patch) | |
tree | 3b7ef3d1ec5235fcc8d1e6d2a8e9c8a38493b30c | |
parent | 4ba803d9834565cbe9a89838eb2fcf0328c44bef (diff) | |
download | openembedded-core-2728394ed75526f338cc9cb6bc62fb0ed6dc605f.tar.gz openembedded-core-2728394ed75526f338cc9cb6bc62fb0ed6dc605f.tar.bz2 openembedded-core-2728394ed75526f338cc9cb6bc62fb0ed6dc605f.zip |
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>
-rwxr-xr-x | scripts/runqemu | 16 |
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...") |