lwp-track-qwaiting-second-try-20040728
authorJeffrey Hutzelman <jhutz@cmu.edu>
Wed, 28 Jul 2004 21:59:58 +0000 (21:59 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 28 Jul 2004 21:59:58 +0000 (21:59 +0000)
FIXES 5616

track qwaiting lwps rather than potentially leaking them

src/lwp/lwp.c

index 48bc988..265ed8c 100644 (file)
@@ -237,7 +237,7 @@ LWP_QWait(void)
 {
     register PROCESS tp;
     (tp = lwp_cpptr)->status = QWAITING;
-    move(tp, &runnable[tp->priority], qwaiting);
+    move(tp, &runnable[tp->priority], &qwaiting);
     Set_LWP_RC();
     return LWP_SUCCESS;
 }
@@ -248,7 +248,7 @@ LWP_QSignal(pid)
 {
     if (pid->status == QWAITING) {
        pid->status = READY;
-       move(pid, qwaiting, &runnable[pid->priority]);
+       move(pid, &qwaiting, &runnable[pid->priority]);
        return LWP_SUCCESS;
     } else
        return LWP_ENOWAIT;