diff options
| author | David du Colombier <0intro@gmail.com> | 2013-09-23 23:16:25 +0200 |
|---|---|---|
| committer | David du Colombier <0intro@gmail.com> | 2013-09-23 23:16:25 +0200 |
| commit | 4b5766580559d101dd1c29cc575b3ffa9f51c2d7 (patch) | |
| tree | f35364a39e255b1336482ee30217d68279ba8699 /src/cmd/fossil/9excl.c | |
| parent | 6f4d00ee45693290fae042b27536b54f77b96acd (diff) | |
| download | plan9port-4b5766580559d101dd1c29cc575b3ffa9f51c2d7.tar.gz plan9port-4b5766580559d101dd1c29cc575b3ffa9f51c2d7.zip | |
fossil: move from liboventi to libthread and libventi
R=rsc
https://codereview.appspot.com/13504049
Diffstat (limited to 'src/cmd/fossil/9excl.c')
| -rw-r--r-- | src/cmd/fossil/9excl.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/cmd/fossil/9excl.c b/src/cmd/fossil/9excl.c index 6fce280a..9cefe58f 100644 --- a/src/cmd/fossil/9excl.c +++ b/src/cmd/fossil/9excl.c @@ -3,7 +3,7 @@ #include "9.h" static struct { - VtLock* lock; + QLock lock; Excl* head; Excl* tail; @@ -31,7 +31,7 @@ exclAlloc(Fid* fid) assert(fid->excl == nil); t = time(0L); - vtLock(ebox.lock); + qlock(&ebox.lock); for(excl = ebox.head; excl != nil; excl = excl->next){ if(excl->fsys != fid->fsys || excl->path != fid->qid.path) continue; @@ -44,8 +44,8 @@ exclAlloc(Fid* fid) * a new one. */ if(excl->time >= t){ - vtUnlock(ebox.lock); - vtSetError("exclusive lock"); + qunlock(&ebox.lock); + werrstr("exclusive lock"); return 0; } excl->fsys = nil; @@ -55,7 +55,7 @@ exclAlloc(Fid* fid) * Not found or timed-out. * Alloc a new one and initialise. */ - excl = vtMemAllocZ(sizeof(Excl)); + excl = vtmallocz(sizeof(Excl)); excl->fsys = fid->fsys; excl->path = fid->qid.path; excl->time = t+LifeTime; @@ -69,7 +69,7 @@ exclAlloc(Fid* fid) } ebox.tail = excl; excl->next = nil; - vtUnlock(ebox.lock); + qunlock(&ebox.lock); fid->excl = excl; return 1; @@ -84,14 +84,14 @@ exclUpdate(Fid* fid) excl = fid->excl; t = time(0L); - vtLock(ebox.lock); + qlock(&ebox.lock); if(excl->time < t || excl->fsys != fid->fsys){ - vtUnlock(ebox.lock); - vtSetError("exclusive lock broken"); + qunlock(&ebox.lock); + werrstr("exclusive lock broken"); return 0; } excl->time = t+LifeTime; - vtUnlock(ebox.lock); + qunlock(&ebox.lock); return 1; } @@ -105,7 +105,7 @@ exclFree(Fid* fid) return; fid->excl = nil; - vtLock(ebox.lock); + qlock(&ebox.lock); if(excl->prev != nil) excl->prev->next = excl->next; else @@ -114,13 +114,12 @@ exclFree(Fid* fid) excl->next->prev = excl->prev; else ebox.tail = excl->prev; - vtUnlock(ebox.lock); + qunlock(&ebox.lock); - vtMemFree(excl); + vtfree(excl); } void exclInit(void) { - ebox.lock = vtLockAlloc(); } |
