From a0a331aad99bbca5a13fa4b69593061f29dc3a29 Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 6 Jan 2005 23:43:42 +0000 Subject: add _procwakeupandunlock to help ease locking contention on Linux 2.4. --- src/libthread/thread.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/libthread/thread.c') diff --git a/src/libthread/thread.c b/src/libthread/thread.c index ee73f752..8a028aa4 100644 --- a/src/libthread/thread.c +++ b/src/libthread/thread.c @@ -166,11 +166,13 @@ _threadready(_Thread *t) p = t->proc; lock(&p->lock); + p->runrend.l = &p->lock; addthread(&p->runqueue, t); //print("%d wake for job %d->%d\n", time(0), getpid(), p->osprocid); if(p != proc()) - _procwakeup(&p->runrend); - unlock(&p->lock); + _procwakeupandunlock(&p->runrend); + else + unlock(&p->lock); } int -- cgit v1.2.3