summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbuild/extract_from_cab.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/build/extract_from_cab.py b/build/extract_from_cab.py
index 278c657..d04bcfd 100755
--- a/build/extract_from_cab.py
+++ b/build/extract_from_cab.py
@@ -12,6 +12,7 @@ import tempfile
lock_file = os.path.join(tempfile.gettempdir(), 'expand.lock')
+
def acquire_lock():
while True:
try:
@@ -20,13 +21,15 @@ def acquire_lock():
except OSError as e:
if e.errno != errno.EEXIST:
raise
- print 'Cab extraction could not get exclusive lock. Retrying in 1 sec...'
- time.sleep(1000)
+ print 'Cab extraction could not get exclusive lock. Retrying in 100ms...'
+ time.sleep(0.1)
+
def release_lock(fd):
os.close(fd)
os.unlink(lock_file)
+
def main():
if len(sys.argv) != 4:
print 'Usage: extract_from_cab.py cab_path archived_file output_dir'
@@ -40,13 +43,7 @@ def main():
level = subprocess.call(
['expand', cab_path, '-F:' + archived_file, output_dir])
if level != 0:
- print 'Cab extraction(%s, %s, %s) failed.' % (
- cab_path, archived_file, output_dir)
- print 'Trying a second time.'
- level = subprocess.call(
- ['expand', cab_path, '-F:' + archived_file, output_dir])
- if level != 0:
- return level
+ return level
finally:
release_lock(lock_fd)