From 5f8fa94796903bf81db4f1dc76d433a80308b3d4 Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 26 Dec 2004 21:51:15 +0000 Subject: cleanups - lots of removed files now in thread library. qlock.c - stubs to thread library notify.c - clean interface slightly. --- src/lib9/lock-tas.c | 57 ----------------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 src/lib9/lock-tas.c (limited to 'src/lib9/lock-tas.c') diff --git a/src/lib9/lock-tas.c b/src/lib9/lock-tas.c deleted file mode 100644 index e6f54de6..00000000 --- a/src/lib9/lock-tas.c +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include - -int _ntas; -static int -_xtas(void *v) -{ - int x; - - _ntas++; - x = _tas(v); - if(x != 0 && x != 0xcafebabe){ - print("bad tas value %d\n", x); - abort(); - } - return x; -} - -int -canlock(Lock *l) -{ - return !_xtas(&l->val); -} - -void -unlock(Lock *l) -{ - l->val = 0; -} - -void -lock(Lock *lk) -{ - int i; - - /* once fast */ - if(!_xtas(&lk->val)) - return; - /* a thousand times pretty fast */ - for(i=0; i<1000; i++){ - if(!_xtas(&lk->val)) - return; - sched_yield(); - } - /* now nice and slow */ - for(i=0; i<1000; i++){ - if(!_xtas(&lk->val)) - return; - usleep(100*1000); - } - /* take your time */ - while(_xtas(&lk->val)) - usleep(1000*1000); -} -- cgit v1.2.3