diff --git a/coalib/processes/Barrier.py b/coalib/processes/Barrier.py deleted file mode 100644 index a46b474da2..0000000000 --- a/coalib/processes/Barrier.py +++ /dev/null @@ -1,24 +0,0 @@ -import multiprocessing -import sys - - -# we measure only python 3.4 coverage -if sys.version_info < (3, 3): # pragma: no cover - class Barrier: - def __init__(self, parties): - self.parties = parties - self.__count = multiprocessing.Value('i', 0) - self.__barrier = multiprocessing.Semaphore(0) - - def wait(self): - with self.__count.get_lock(): - self.__count.value += 1 - - # The last process releases the previous ones and so forth - if self.__count.value == self.parties: - self.__barrier.release() - - self.__barrier.acquire() - self.__barrier.release() -else: - from multiprocessing import Barrier diff --git a/coalib/tests/processes/BarrierTest.py b/coalib/tests/processes/BarrierTest.py deleted file mode 100644 index 0024a428fd..0000000000 --- a/coalib/tests/processes/BarrierTest.py +++ /dev/null @@ -1,44 +0,0 @@ -import sys -import time - -sys.path.insert(0, ".") -import unittest -import multiprocessing - -from coalib.processes.Barrier import Barrier - - -def proc_one(queue, barrier): - queue.put(1) - time.sleep(0.1) - barrier.wait() - queue.put(2) - -def proc_two(queue, barrier): - queue.put(1) - barrier.wait() - queue.put(2) - - -class BarrierTest(unittest.TestCase): - def test_barrier(self): - uut = Barrier(parties=2) - queue = multiprocessing.Queue() - processes = [multiprocessing.Process(target=proc_one, - args=(queue, uut)), - multiprocessing.Process(target=proc_two, - args=(queue, uut))] - for proc in processes: - proc.start() - for proc in processes: - proc.join() - - # Order will be wrong (1 2 1 2) if barrier doesn't work - self.assertEqual(queue.get(), 1) - self.assertEqual(queue.get(), 1) - self.assertEqual(queue.get(), 2) - self.assertEqual(queue.get(), 2) - - -if __name__ == '__main__': - unittest.main(verbosity=2)