diff --git a/bagit.py b/bagit.py index 458fba8..dc695c7 100755 --- a/bagit.py +++ b/bagit.py @@ -886,13 +886,12 @@ def _validate_entries(self, processes): if processes == 1: hash_results = [_calc_hashes(i) for i in args] else: - try: - pool = multiprocessing.Pool( - processes if processes else None, initializer=worker_init - ) - hash_results = pool.map(_calc_hashes, args) - finally: - pool.terminate() + pool = multiprocessing.Pool( + processes if processes else None, initializer=worker_init + ) + hash_results = pool.map(_calc_hashes, args) + pool.close() + pool.join() # Any unhandled exceptions are probably fatal except: