浏览代码

fix timeouts hanging the progressbar

Nick Sweeting 7 年之前
父节点
当前提交
e620722bb9
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      archivebox/util.py

+ 5 - 3
archivebox/util.py

@@ -158,16 +158,18 @@ def progress(seconds=TIMEOUT, prefix=''):
             print()
             print()
             pass
             pass
 
 
-    p = Process(target=progress_bar)
+    p = Process(target=progress_bar, args=(seconds, prefix))
     p.start()
     p.start()
 
 
     def end():
     def end():
         """immediately finish progress and clear the progressbar line"""
         """immediately finish progress and clear the progressbar line"""
+
+        # protect from double termination
         nonlocal p
         nonlocal p
-        if p is None: # protect from double termination
+        if p is None:
             return
             return
 
 
-        p.terminate()
+        p.kill()
         p = None
         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