mirror of
https://github.com/pirate/ArchiveBox.git
synced 2025-08-18 04:11:57 +02:00
Fix 'Too many open files' error.
Happened before after continuous archiving of few hundreds links. Fix by: * setting process object to `None` to trigger GC finalizer cleanup of pipe descriptors * protecting against double cleanup
This commit is contained in:
@@ -161,7 +161,13 @@ def progress(seconds=TIMEOUT, prefix=''):
|
|||||||
|
|
||||||
def end():
|
def end():
|
||||||
"""immediately finish progress and clear the progressbar line"""
|
"""immediately finish progress and clear the progressbar line"""
|
||||||
|
nonlocal p
|
||||||
|
if p is None: # protect from double termination
|
||||||
|
return
|
||||||
|
|
||||||
p.terminate()
|
p.terminate()
|
||||||
|
p = None
|
||||||
|
|
||||||
sys.stdout.write('\r{}{}\r'.format((' ' * TERM_WIDTH), ANSI['reset'])) # clear whole terminal line
|
sys.stdout.write('\r{}{}\r'.format((' ' * TERM_WIDTH), ANSI['reset'])) # clear whole terminal line
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user