diff options
author | Victor Shyba <victor.shyba@gmail.com> | 2016-08-02 00:07:13 -0300 |
---|---|---|
committer | drebs <drebs@leap.se> | 2016-08-02 11:51:14 -0300 |
commit | 1c8b39b808a5d5b56f5463d29ad1a7e901bf84d5 (patch) | |
tree | c47f13f86f9ea9ec60fb105921204c6b08d4a11e /client | |
parent | e315847bd06bb575505720bd7e882e07406b1fab (diff) |
[test] avoid race condition on test_processing_order
test_processing_order aims to check that unordered docs wont be
processed, but if we let the pool start and advance Twisted LoopingCall
clock right before calling the processing method manually, the process
method will run concurrently and cause a race condition issue.
Diffstat (limited to 'client')
-rw-r--r-- | client/src/leap/soledad/client/encdecpool.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/client/src/leap/soledad/client/encdecpool.py b/client/src/leap/soledad/client/encdecpool.py index a6d49b21..2cf5da6e 100644 --- a/client/src/leap/soledad/client/encdecpool.py +++ b/client/src/leap/soledad/client/encdecpool.py @@ -344,6 +344,9 @@ class SyncDecrypterPool(SyncEncryptDecryptPool): self._loop = LoopingCall(self._decrypt_and_recurse) + def _start_pool(self, period): + self._loop.start(period) + def start(self, docs_to_process): """ Set the number of documents we expect to process. @@ -360,7 +363,7 @@ class SyncDecrypterPool(SyncEncryptDecryptPool): self._docs_to_process = docs_to_process self._deferred = defer.Deferred() d = self._init_db() - d.addCallback(lambda _: self._loop.start(self.DECRYPT_LOOP_PERIOD)) + d.addCallback(lambda _: self._start_pool(self.DECRYPT_LOOP_PERIOD)) return d def stop(self): |