Add capability sets to the event system. Contains code from Duncan Coutts.
[ghc-hetmet.git] / rts / Schedule.c
index 9636223..9b151d7 100644 (file)
@@ -2030,16 +2030,16 @@ exitScheduler (rtsBool wait_foreign USED_IF_THREADS)
     }
     sched_state = SCHED_SHUTTING_DOWN;
 
+    nat i;
+
+    for (i = 0; i < n_capabilities; i++) {
 #if defined(THREADED_RTS)
-    { 
-       nat i;
-       
-       for (i = 0; i < n_capabilities; i++) {
-            ASSERT(task->incall->tso == NULL);
-           shutdownCapability(&capabilities[i], task, wait_foreign);
-       }
-    }
+        ASSERT(task->incall->tso == NULL);
+        shutdownCapability(&capabilities[i], task, wait_foreign);
 #endif
+        traceCapsetRemoveCap(CAPSET_OSPROCESS_DEFAULT, i);
+    }
+    traceCapsetDelete(CAPSET_OSPROCESS_DEFAULT);
 
     boundTaskExiting(task);
 }