Exemplo n.º 1
0
def lock_getter1(lock_dir, lock_id, qs2m, qm2s):
    l = Lock(lock_dir, lock_id)
    got_lock = l.acquire_if_available()
    qs2m.put(got_lock)
    l.acquire()
    qs2m.put(True)
    d = qm2s.get()
    l.release()
Exemplo n.º 2
0
 def test_multiproc1(self):
     l = Lock(self.dir, "id1")
     l.acquire()
     qs2m = Queue()
     qm2s = Queue()
     p = Process(target=lock_getter1, args=(self.dir, "id1", qs2m, qm2s))
     p.start()
     r = qs2m.get()
     self.assertFalse(r, "Slave process was able to get lock!")
     l.release()
     d = qs2m.get()
     got_lock = l.acquire_if_available()
     self.assertFalse(got_lock)
     qm2s.put(True)
     l.acquire()
     l.release()
     l.cleanup()
Exemplo n.º 3
0
 def test_sequential_locking(self):
     l = Lock(self.dir, "id1")
     self.assertFalse(l.is_locked())
     l.acquire()
     self.assertTrue(l.is_locked())
     l.release()
     self.assertFalse(l.is_locked())
     got_lock = l.acquire_if_available()
     self.assertTrue(got_lock)
     got_exception = False
     try:
         l.acquire()
     except LockError:
         got_exception = True
     self.assertTrue(got_exception)
     l.release()
     l.cleanup()
     self.assertFalse(os.path.exists(l.path))