Merge "Do not use multiprocessing.Pool when --processes=1." am: 948ebf5510
am: 85465a39fb

Change-Id: I4c1cf5da920c48d5df0fabdc3ebc9672fa91a3a4
diff --git a/tools/warn.py b/tools/warn.py
index 45ffda0..355d120 100755
--- a/tools/warn.py
+++ b/tools/warn.py
@@ -2096,13 +2096,17 @@
 def parallel_classify_warnings(warning_lines):
   """Classify all warning lines with num_cpu parallel processes."""
   num_cpu = args.processes
-  groups = [[] for x in range(num_cpu)]
-  i = 0
-  for x in warning_lines:
-    groups[i].append(x)
-    i = (i + 1) % num_cpu
-  pool = multiprocessing.Pool(num_cpu)
-  group_results = pool.map(classify_warnings, groups)
+  if num_cpu > 1:
+    groups = [[] for x in range(num_cpu)]
+    i = 0
+    for x in warning_lines:
+      groups[i].append(x)
+      i = (i + 1) % num_cpu
+    pool = multiprocessing.Pool(num_cpu)
+    group_results = pool.map(classify_warnings, groups)
+  else:
+    group_results = [classify_warnings(warning_lines)]
+
   for result in group_results:
     for line, pattern_idx, project_idx in result:
       pattern = warn_patterns[pattern_idx]