aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-09-25 19:41:54 +0000
committerKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-09-25 19:41:54 +0000
commiteea92c8b2c0d518c48b719a702f1b32d0c3ba6ca (patch)
treea2d021c448b84b5d315acd965aea52aeb78ee49b
parent7658f9a43a28c75b10018d53337a7cbe78afed38 (diff)
Use timeout to keep the file progress printing smooth
svn path=/trunk/; revision=30153
-rw-r--r--tools/indexcap.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/indexcap.py b/tools/indexcap.py
index f9ff217c7a..4fa615e184 100644
--- a/tools/indexcap.py
+++ b/tools/indexcap.py
@@ -26,7 +26,7 @@
#
from optparse import OptionParser
-from multiprocessing import Process, Pool
+import multiprocessing
import sys
import os
import subprocess
@@ -125,16 +125,22 @@ def main():
cap_files = find_capture_files(paths, cap_hash)
cap_files.sort()
print len(cap_files), "total files,",
+ options.max_files = min(options.max_files, len(cap_files))
cap_files = cap_files[:options.max_files]
print len(cap_files), "indexable files"
print "\n"
- pool = Pool(options.num_procs)
+ pool = multiprocessing.Pool(options.num_procs)
results = [pool.apply_async(process_capture_file, [tshark, file]) for file in cap_files]
cur_item_num = 0
for result in results:
cur_item_num += 1
- file_result = result.get()
+ try:
+ file_result = result.get(1)
+ except multiprocessing.TimeoutError:
+ cur_item_num -= 1
+ continue
+
if file_result is None:
continue