aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/fossil/bwatch.c
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2013-09-23 23:16:25 +0200
committerDavid du Colombier <0intro@gmail.com>2013-09-23 23:16:25 +0200
commit4b5766580559d101dd1c29cc575b3ffa9f51c2d7 (patch)
treef35364a39e255b1336482ee30217d68279ba8699 /src/cmd/fossil/bwatch.c
parent6f4d00ee45693290fae042b27536b54f77b96acd (diff)
downloadplan9port-4b5766580559d101dd1c29cc575b3ffa9f51c2d7.tar.gz
plan9port-4b5766580559d101dd1c29cc575b3ffa9f51c2d7.tar.bz2
plan9port-4b5766580559d101dd1c29cc575b3ffa9f51c2d7.zip
fossil: move from liboventi to libthread and libventi
R=rsc https://codereview.appspot.com/13504049
Diffstat (limited to 'src/cmd/fossil/bwatch.c')
-rw-r--r--src/cmd/fossil/bwatch.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/cmd/fossil/bwatch.c b/src/cmd/fossil/bwatch.c
index 51deb762..8cd0956e 100644
--- a/src/cmd/fossil/bwatch.c
+++ b/src/cmd/fossil/bwatch.c
@@ -44,7 +44,7 @@ struct WEntry
struct WMap
{
- VtLock *lk;
+ QLock lk;
WEntry *hchild[HashSize];
WEntry *hparent[HashSize];
@@ -84,7 +84,7 @@ allocWEntry(void)
w = pool;
if(w == nil){
- w = vtMemAllocZ(1024*sizeof(WEntry));
+ w = vtmallocz(1024*sizeof(WEntry));
for(i=0; i<1024; i++)
freeWEntry(&w[i]);
w = pool;
@@ -195,16 +195,15 @@ addChild(uchar p[VtEntrySize], uchar c[VtEntrySize], int off)
void
bwatchReset(uchar score[VtScoreSize])
{
- vtLock(map.lk);
+ qlock(&map.lk);
_bwatchResetParent(score);
_bwatchResetChild(score);
- vtUnlock(map.lk);
+ qunlock(&map.lk);
}
void
bwatchInit(void)
{
- map.lk = vtLockAlloc();
wp = privalloc();
*wp = nil;
}
@@ -222,7 +221,7 @@ getWThread(void)
w = *wp;
if(w == nil || w->pid != getpid()){
- w = vtMemAllocZ(sizeof(WThread));
+ w = vtmallocz(sizeof(WThread));
*wp = w;
w->pid = getpid();
}
@@ -241,7 +240,7 @@ bwatchDependency(Block *b)
if(bwatchDisabled)
return;
- vtLock(map.lk);
+ qlock(&map.lk);
_bwatchResetParent(b->score);
switch(b->l.type){
@@ -264,7 +263,7 @@ bwatchDependency(Block *b)
addChild(b->score, b->data+i*VtScoreSize, i);
break;
}
- vtUnlock(map.lk);
+ qunlock(&map.lk);
}
static int
@@ -376,7 +375,7 @@ bwatchLock(Block *b)
if(b->part != PartData)
return;
- vtLock(map.lk);
+ qlock(&map.lk);
w = getWThread();
for(i=0; i<w->nb; i++){
if(lockConflicts(w->b[i]->score, b->score)){
@@ -385,7 +384,7 @@ bwatchLock(Block *b)
stop();
}
}
- vtUnlock(map.lk);
+ qunlock(&map.lk);
if(w->nb >= MaxLock){
fprint(2, "%d: too many blocks held\n", w->pid);
stop();