Ido Barkan has posted comments on this change.
Change subject: rwlock: Add simpler RWLock
......................................................................
Patch Set 16:
(3 comments)
https://gerrit.ovirt.org/#/c/42908/16/lib/vdsm/rwlock.py
File lib/vdsm/rwlock.py:
Line 39: lock.release()
Line 40:
Line 41: If possible, use the RWLock.exclusive contextmanager:
Line 42:
Line 43: with lock.exclusive:
This is out of the scope of this effort. I'm intentionally
keeping the api
ok
Line 44: do stuff that require an exclusive lock..
Line 45:
Line 46: When a thread is holding a write lock, other threads requesting a write or
Line 47: read lock will be blocked. When you release the write lock, the waiting
Line 104: self._holders[me] += 1
Line 105: return
Line 106: with self._lock:
Line 107: if self._writer or self._waiters:
Line 108: self._wait(False)
wants_write is positional parameter. Calling with as kwarg parameter
is con
ok
Line 109: self._holders[me] = 1
Line 110: if self._waiters:
Line 111: self._wakeup_next_waiter()
Line 112:
Line 135: self._lock.acquire()
Line 136: finally:
Line 137: self._waiters.remove(waiter)
Line 138:
Line 139: def _wakeup_next_waiter(self):
wakeup is nicer.
but a typo
Line 140: if self._holders and self._waiters[0].wants_write:
Line 141: return
Line 142: self._waiters[0].wakeup()
Line 143:
--
To view, visit
https://gerrit.ovirt.org/42908
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I2466c137c89598772fb46347eb02195916883cac
Gerrit-PatchSet: 16
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Adam Litke <alitke(a)redhat.com>
Gerrit-Reviewer: Ala Hino <ahino(a)redhat.com>
Gerrit-Reviewer: Allon Mureinik <amureini(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Dima Kuznetsov <dkuznets(a)redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce(a)redhat.com>
Gerrit-Reviewer: Francesco Romani <fromani(a)redhat.com>
Gerrit-Reviewer: Freddy Rolland <frolland(a)redhat.com>
Gerrit-Reviewer: Ido Barkan <ibarkan(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org
Gerrit-HasComments: Yes