From d1ae62b22b790a04321ba714b4c7e0229765262f Mon Sep 17 00:00:00 2001 From: stamparm Date: Tue, 19 Mar 2013 12:27:49 +0100 Subject: [PATCH] Patch for an Issue #422 --- lib/utils/hash.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/utils/hash.py b/lib/utils/hash.py index 59aad8b69..187a29d87 100644 --- a/lib/utils/hash.py +++ b/lib/utils/hash.py @@ -21,6 +21,7 @@ except (ImportError, OSError): else: _multiprocessing = multiprocessing +import gc import os import re import tempfile @@ -767,6 +768,8 @@ def dictionaryAttack(attack_dict): infoMsg = "starting %d processes " % _multiprocessing.cpu_count() singleTimeLogMessage(infoMsg) + gc.disable() + retVal = _multiprocessing.Queue() count = _multiprocessing.Value('i', _multiprocessing.cpu_count()) @@ -803,6 +806,9 @@ def dictionaryAttack(attack_dict): pass finally: + if _multiprocessing: + gc.enable() + if retVal: conf.hashDB.beginTransaction() @@ -845,6 +851,8 @@ def dictionaryAttack(attack_dict): infoMsg = "starting %d processes " % _multiprocessing.cpu_count() singleTimeLogMessage(infoMsg) + gc.disable() + retVal = _multiprocessing.Queue() found_ = _multiprocessing.Value('i', False) count = _multiprocessing.Value('i', _multiprocessing.cpu_count()) @@ -892,6 +900,9 @@ def dictionaryAttack(attack_dict): pass finally: + if _multiprocessing: + gc.enable() + if retVal: conf.hashDB.beginTransaction()