summaryrefslogtreecommitdiffstats
path: root/scripts/runqemu
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/runqemu')
-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):
220 self.tcpserial_portnum = '' 220 self.tcpserial_portnum = ''
221 self.custombiosdir = '' 221 self.custombiosdir = ''
222 self.lock = '' 222 self.lock = ''
223 self.lock_descriptor = '' 223 self.lock_descriptor = None
224 self.bitbake_e = '' 224 self.bitbake_e = ''
225 self.snapshot = False 225 self.snapshot = False
226 self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs', 226 self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs',
@@ -254,13 +254,17 @@ class BaseConfig(object):
254 logger.info(msg) 254 logger.info(msg)
255 if self.lock_descriptor: 255 if self.lock_descriptor:
256 self.lock_descriptor.close() 256 self.lock_descriptor.close()
257 self.lock_descriptor = None
257 return False 258 return False
258 return True 259 return True
259 260
260 def release_lock(self): 261 def release_lock(self):
261 fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN) 262 if self.lock_descriptor:
262 self.lock_descriptor.close() 263 logger.debug("Releasing lockfile for tap device '%s'" % self.tap)
263 os.remove(self.lock) 264 fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN)
265 self.lock_descriptor.close()
266 os.remove(self.lock)
267 self.lock_descriptor = None
264 268
265 def get(self, key): 269 def get(self, key):
266 if key in self.d: 270 if key in self.d:
@@ -1237,9 +1241,7 @@ class BaseConfig(object):
1237 cmd = 'sudo %s %s %s' % (self.qemuifdown, self.tap, self.bindir_native) 1241 cmd = 'sudo %s %s %s' % (self.qemuifdown, self.tap, self.bindir_native)
1238 logger.debug('Running %s' % cmd) 1242 logger.debug('Running %s' % cmd)
1239 subprocess.check_call(cmd, shell=True) 1243 subprocess.check_call(cmd, shell=True)
1240 if self.lock_descriptor: 1244 self.release_lock()
1241 logger.info("Releasing lockfile for tap device '%s'" % self.tap)
1242 self.release_lock()
1243 1245
1244 if self.nfs_running: 1246 if self.nfs_running:
1245 logger.info("Shutting down the userspace NFS server...") 1247 logger.info("Shutting down the userspace NFS server...")