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/rendez.c | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 src/lib9/rendez.c (limited to 'src/lib9/rendez.c') diff --git a/src/lib9/rendez.c b/src/lib9/rendez.c deleted file mode 100644 index 2b2c1a19..00000000 --- a/src/lib9/rendez.c +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include -#include "9proc.h" - -static Lock rendlock; -static Uproc *rendhash[RENDHASH]; - -ulong -rendezvous(ulong tag, ulong val) -{ - char c; - ulong ret; - Uproc *t, *self, **l; - - self = _p9uproc(0); - lock(&rendlock); - l = &rendhash[tag%RENDHASH]; - for(t=*l; t; l=&t->rendhash, t=*l){ - if(t->rendtag==tag){ - *l = t->rendhash; - ret = t->rendval; - t->rendval = val; - t->rendtag++; - c = 0; - unlock(&rendlock); - write(t->pipe[1], &c, 1); - return ret; - } - } - - /* Going to sleep here. */ - t = self; - t->rendtag = tag; - t->rendval = val; - t->rendhash = *l; - *l = t; - unlock(&rendlock); - do - read(t->pipe[0], &c, 1); - while(t->rendtag == tag); - return t->rendval; -} -- cgit v1.2.3