diff --git a/src/proofofwork.py b/src/proofofwork.py index 9d53b39e..3bc99c83 100644 --- a/src/proofofwork.py +++ b/src/proofofwork.py @@ -60,10 +60,22 @@ def _doFastPoW(target, initialHash): maxCores = 99999 if pool_size > maxCores: pool_size = maxCores + + # temporarily disable handlers + int_handler = signal.getsignal(signal.SIGINT) + term_handler = signal.getsignal(signal.SIGTERM) + signal.signal(signal.SIGINT, signal.SIG_IGN) + signal.signal(signal.SIGTERM, signal.SIG_IGN) + pool = Pool(processes=pool_size) result = [] for i in range(pool_size): result.append(pool.apply_async(_pool_worker, args = (i, initialHash, target, pool_size))) + + # re-enable handlers + signal.signal(signal.SIGINT, int_handler) + signal.signal(signal.SIGTERM, term_handler) + while True: if shutdown >= 1: pool.terminate()