| Index: build/extract_from_cab.py
|
| ===================================================================
|
| --- build/extract_from_cab.py (revision 114132)
|
| +++ build/extract_from_cab.py (working copy)
|
| @@ -12,6 +12,7 @@
|
|
|
| lock_file = os.path.join(tempfile.gettempdir(), 'expand.lock')
|
|
|
| +
|
| def acquire_lock():
|
| while True:
|
| try:
|
| @@ -20,13 +21,15 @@
|
| 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 @@
|
| 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)
|
|
|
|
|