From 05fa98679efbc6d611d27a8b1079de83fc6efd93 Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 26 Oct 2005 15:20:59 +0000 Subject: [PATCH] [project @ 2005-10-26 15:20:59 by simonmar] - forkProcess fix: add a forgotten rts_unlock() - add a couple more ASSERTs --- ghc/rts/Schedule.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index a7696ed..7af3ab5 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1934,6 +1934,7 @@ forkProcess(HsStablePtr *entry if (pid) { // parent // just return the pid + rts_unlock(cap); return pid; } else { // child @@ -2462,6 +2463,8 @@ scheduleWaitThread (StgTSO* tso, /*[out]*/HaskellObj* ret, Capability *cap) cap = schedule(cap,task); ASSERT(task->stat != NoStatus); + ASSERT(cap->running_task == task); + ASSERT(task->cap == cap); IF_DEBUG(scheduler, sched_belch("bound thread (%d) finished", task->tso->id)); return cap; -- 1.7.10.4