In spatch a ExecutionError was raised, but that causes the thread to finish without closing the outfile and more importantly without putting (ret, fn) tuple on the return queue. This results in the threaded_spatch routine to get stuck on the ret_q.get() call. This patch removes raising the ExecutionError and just return the tuple. The non-zero return code will result in ExecutionErrorThread exception anyway. Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> --- A bit late but here is the rebased version. Regards, Arend --- lib/bpcoccinelle.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/bpcoccinelle.py b/lib/bpcoccinelle.py index a71f425..fc503f1 100644 --- a/lib/bpcoccinelle.py +++ b/lib/bpcoccinelle.py @@ -4,9 +4,6 @@ from lib.tempdir import tempdir class CoccinelleError(Exception): pass -class ExecutionError(CoccinelleError): - def __init__(self, errcode): - self.error_code = errcode class ExecutionErrorThread(CoccinelleError): def __init__(self, errcode, fn, cocci_file, threads, t, logwrite, print_name): self.error_code = errcode @@ -48,8 +45,6 @@ def spatch(cocci_file, outdir, close_fds=True, universal_newlines=True, cwd=outdir) sprocess.wait() - if sprocess.returncode != 0: - raise ExecutionError(sprocess.returncode) outfile.close() ret_q.put((sprocess.returncode, fn)) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe backports" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html