X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSchedule.h;h=ddc7f561632ac760c56632fb89f7cd4e38a60933;hb=8d750a5cede36c5f2767b7c869adc4f42f839871;hp=d097a397138a55b5d908a2a8708a2486c56b72ea;hpb=95ca6bff6fc9918203173b442192d9298ef9757a;p=ghc-hetmet.git diff --git a/ghc/rts/Schedule.h b/ghc/rts/Schedule.h index d097a39..ddc7f56 100644 --- a/ghc/rts/Schedule.h +++ b/ghc/rts/Schedule.h @@ -63,6 +63,9 @@ void raiseAsyncWithLock(StgTSO *tso, StgClosure *exception); /* raiseExceptionHelper */ StgWord raiseExceptionHelper (StgTSO *tso, StgClosure *exception); +/* findRetryFrameHelper */ +StgWord findRetryFrameHelper (StgTSO *tso); + /* awaitEvent(rtsBool wait) * * Checks for blocked threads that need to be woken. @@ -127,7 +130,7 @@ void initThread(StgTSO *tso, nat stack_size); /* 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 */ @@ -156,9 +159,7 @@ extern nat RTS_VAR(rts_n_waiting_workers); extern nat RTS_VAR(rts_n_waiting_tasks); #endif -StgBool rtsSupportsBoundThreads(void); StgBool isThreadBound(StgTSO *tso); -StgInt forkProcess(HsStablePtr *entry); extern SchedulerStatus rts_mainLazyIO(HaskellObj p, /*out*/HaskellObj *ret); @@ -281,17 +282,6 @@ void labelThread(StgPtr tso, char *label); } \ 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)