[project @ 2005-10-26 15:20:59 by simonmar]
authorsimonmar <unknown>
Wed, 26 Oct 2005 15:20:59 +0000 (15:20 +0000)
committersimonmar <unknown>
Wed, 26 Oct 2005 15:20:59 +0000 (15:20 +0000)
- forkProcess fix: add a forgotten rts_unlock()
- add a couple more ASSERTs

ghc/rts/Schedule.c

index a7696ed..7af3ab5 100644 (file)
@@ -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;