X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FSchedAPI.h;h=565ed202319bb0481082d01c1459fb49ca9403ac;hb=6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a;hp=05d3ca859966923383a2651ba872420b04ac3523;hpb=9ff75d089614cce1cfa8c88344ace47698258bfa;p=ghc-hetmet.git diff --git a/ghc/includes/SchedAPI.h b/ghc/includes/SchedAPI.h index 05d3ca8..565ed20 100644 --- a/ghc/includes/SchedAPI.h +++ b/ghc/includes/SchedAPI.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: SchedAPI.h,v 1.10 2000/04/14 15:18:05 sewardj Exp $ + * $Id: SchedAPI.h,v 1.15 2002/06/19 20:45:17 sof Exp $ * * (c) The GHC Team 1998 * @@ -16,23 +16,21 @@ #define NO_PRI 0 #endif -/* - * schedule() plus the thread creation functions are not part - * part of the external RTS API, so leave them out if we're - * not compiling rts/ bits. -- sof 7/99 - * - */ -SchedulerStatus waitThread(StgTSO *main_thread, /*out*/StgClosure **ret); +extern SchedulerStatus waitThread(StgTSO *main_thread, /*out*/StgClosure **ret); /* * Creating threads */ #if defined(GRAN) -StgTSO *createThread(nat stack_size, StgInt pri); +extern StgTSO *createThread(nat stack_size, StgInt pri); #else -StgTSO *createThread(nat stack_size); +extern StgTSO *createThread(nat stack_size); +#endif +#if defined(PAR) || defined(SMP) +extern void taskStart(void); #endif -void scheduleThread(StgTSO *tso); +extern void scheduleThread(StgTSO *tso); +extern SchedulerStatus scheduleWaitThread(StgTSO *tso, /*out*/HaskellObj* ret); static inline void pushClosure (StgTSO *tso, StgClosure *c) { tso->sp--; @@ -82,7 +80,7 @@ createStrictIOThread(nat stack_size, StgClosure *closure) { t = createThread(stack_size); #endif pushClosure(t,closure); - pushClosure(t,(StgClosure*)&forceIO_closure); + pushClosure(t,(StgClosure*)&stg_forceIO_closure); return t; }