/* raiseExceptionHelper */
StgWord raiseExceptionHelper (StgTSO *tso, StgClosure *exception);
+/* findRetryFrameHelper */
+StgWord findRetryFrameHelper (StgTSO *tso);
+
/* awaitEvent(rtsBool wait)
*
* Checks for blocked threads that need to be woken.
/* Context switch flag.
* Locks required : sched_mutex
*/
-extern nat RTS_VAR(context_switch);
+extern int RTS_VAR(context_switch);
extern rtsBool RTS_VAR(interrupted);
/* In Select.c */
extern nat RTS_VAR(rts_n_waiting_tasks);
#endif
-StgBool rtsSupportsBoundThreads(void);
StgBool isThreadBound(StgTSO *tso);
extern SchedulerStatus rts_mainLazyIO(HaskellObj p, /*out*/HaskellObj *ret);
} \
blocked_queue_tl = tso;
-/* Signal that a runnable thread has become available, in
- * case there are any waiting tasks to execute it.
- */
-#if defined(RTS_SUPPORTS_THREADS)
-#define THREAD_RUNNABLE() \
- wakeBlockedWorkerThread(); \
- context_switch = 1;
-#else
-#define THREAD_RUNNABLE() /* nothing */
-#endif
-
/* Check whether various thread queues are empty
*/
#define EMPTY_QUEUE(q) (q == END_TSO_QUEUE)