/* -----------------------------------------------------------------------------
- * $Id: PrimOps.hc,v 1.108 2003/07/03 15:14:58 sof Exp $
+ * $Id: PrimOps.hc,v 1.110 2003/07/23 13:39:11 simonmar Exp $
*
* (c) The GHC Team, 1998-2002
*
#define PUSHED(m) Sp -= (m); JMP_(ENTRY_CODE(Sp[m]));
# define RET_P(a) PUSH(1,a); PUSHED(1)
-# define RET_N(a) PUSH(1,a); PUSHED(2)
+# define RET_N(a) PUSH(1,a); PUSHED(1)
# define RET_PP(a,b) PUSH(2,a); PUSH(1,b); PUSHED(2)
# define RET_NN(a,b) PUSH(2,a); PUSH(1,b); PUSHED(2)
ares->len = 0;
ares->errCode = 0;
CurrentTSO->block_info.async_result = ares;
+ /* Having all async-blocked threads reside on the blocked_queue simplifies matters, so
+ * change the status to OnDoProc & put the delayed thread on the blocked_queue.
+ */
+ CurrentTSO->why_blocked = BlockedOnDoProc;
APPEND_TO_BLOCKED_QUEUE(CurrentTSO);
#else
target = (R1.i / (TICK_MILLISECS*1000)) + getourtimeofday();