mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 05:02:21 +02:00
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 (From OE-Core rev: d3c052e6ccd81d544b23a3bee80ba00cafaedbbd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -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...")
|
||||
|
||||
Reference in New Issue
Block a user