+++ /dev/null
-import threading
-
-from . import debug_print
-
-class Lock:
- def __init__(self, lock_type):
- self.type = lock_type
- self.lock = threading.RLock()
-
- def __enter__(self, *args, **kwargs):
- self.acquire(*args, **kwargs)
-
- def __exit__(self, type, value, traceback, *args, **kwargs):
- self.release(*args, **kwargs)
-
- def acquire(self, *args, **kwargs):
- #debug_print("acquiring lock for {}".format(self.type))
- self.lock.acquire(*args, **kwargs)
-
- def release(self, *args, **kwargs):
- #debug_print("releasing lock for {}".format(self.type))
- self.lock.release(*args, **kwargs)
-