#ifdef THREADED_RTS
foreign "C" barf("asyncRead# on threaded RTS");
-#endif
+#else
/* args: R1 = fd, R2 = isSock, R3 = len, R4 = buf */
ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I16);
StgTSO_block_info(CurrentTSO) = ares;
APPEND_TO_BLOCKED_QUEUE(CurrentTSO);
jump stg_block_async;
+#endif
}
STRING(stg_asyncWritezh_malloc_str, "asyncWritezh_fast")
#ifdef THREADED_RTS
foreign "C" barf("asyncWrite# on threaded RTS");
-#endif
+#else
/* args: R1 = fd, R2 = isSock, R3 = len, R4 = buf */
ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I16);
StgTSO_block_info(CurrentTSO) = ares;
APPEND_TO_BLOCKED_QUEUE(CurrentTSO);
jump stg_block_async;
+#endif
}
STRING(stg_asyncDoProczh_malloc_str, "asyncDoProczh_fast")
W_ ares;
CInt reqID;
+#ifdef THREADED_RTS
+ foreign "C" barf("asyncDoProc# on threaded RTS");
+#else
+
/* args: R1 = proc, R2 = param */
ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I16);
StgTSO_why_blocked(CurrentTSO) = BlockedOnDoProc::I16;
StgTSO_block_info(CurrentTSO) = ares;
APPEND_TO_BLOCKED_QUEUE(CurrentTSO);
jump stg_block_async;
+#endif
}
#endif