eliminate some not-quite-duplicate code
authorSimon Marlow <marlowsd@gmail.com>
Fri, 13 Mar 2009 15:56:19 +0000 (15:56 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Fri, 13 Mar 2009 15:56:19 +0000 (15:56 +0000)
rts/RaiseAsync.c

index 2f072d5..a315622 100644 (file)
@@ -672,16 +672,7 @@ removeFromQueues(Capability *cap, StgTSO *tso)
   }
 
  done:
-  tso->_link = END_TSO_QUEUE; // no write barrier reqd
-  tso->why_blocked = NotBlocked;
-  tso->block_info.closure = NULL;
-  appendToRunQueue(cap,tso);
-
-  // We might have just migrated this TSO to our Capability:
-  if (tso->bound) {
-      tso->bound->cap = cap;
-  }
-  tso->cap = cap;
+  unblockOne(cap, tso);
 }
 
 /* -----------------------------------------------------------------------------