waitForReturnCapability: fix logic bug
authorSimon Marlow <marlowsd@gmail.com>
Mon, 31 Aug 2009 06:49:08 +0000 (06:49 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Mon, 31 Aug 2009 06:49:08 +0000 (06:49 +0000)
The check for whether a Capability was free was inverted, which harmed
performance for callbacks.

rts/Capability.c

index ddaba69..4264f0f 100644 (file)
@@ -500,7 +500,7 @@ waitForReturnCapability (Capability **pCap, Task *task)
     if (cap == NULL) {
        // Try last_free_capability first
        cap = last_free_capability;
-       if (!cap->running_task) {
+       if (cap->running_task) {
            nat i;
            // otherwise, search for a free capability
             cap = NULL;