Skip to content
Snippets Groups Projects
Commit cc53ac5c authored by Thibault VINCENT's avatar Thibault VINCENT
Browse files

fix: read/write mutex improvement

parent 68fb8f45
No related branches found
No related tags found
No related merge requests found
......@@ -99,6 +99,7 @@ class RWLock(object):
self.read = self._RLock(self)
self.write = self._WLock(self)
class _Lock(object):
'''
'''
......@@ -107,27 +108,49 @@ class RWLock(object):
'''
self._parent = rwlock
class _WLock(_Lock):
'''
'''
def __enter__(self):
'''
'''
self.acquire()
def __exit__(self, exc_type, exc_value, traceback):
'''
'''
self.release()
def acquire(self):
'''
'''
with self._parent._mutex:
self._parent._writers += 1
self._parent._writemutex.acquire()
def __exit__(self, exc_type, exc_value, traceback):
def release(self):
'''
'''
with self._parent._mutex:
self._parent._writers -= 1
self._parent._writemutex.release()
class _RLock(_Lock):
'''
'''
def __enter__(self):
'''
'''
self.acquire()
def __exit__(self, exc_type, exc_value, traceback):
'''
'''
self.release()
def acquire(self):
'''
'''
self._parent._mutex.acquire()
......@@ -138,7 +161,7 @@ class RWLock(object):
self._parent._readers += 1
self._parent._mutex.release()
def __exit__(self, exc_type, exc_value, traceback):
def release(self):
'''
'''
self._parent._mutex.acquire()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment