X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSchedule.h;h=7722802cbddcd302699d9777751f727576db3632;hb=97906cfcc30dd591e840921d336fdabeb1b8a315;hp=5b0e16beca6dae97371f31e15484855ebffb137a;hpb=5eedab2c787043421b8b86e8f8f26c7404340229;p=ghc-hetmet.git diff --git a/ghc/rts/Schedule.h b/ghc/rts/Schedule.h index 5b0e16b..7722802 100644 --- a/ghc/rts/Schedule.h +++ b/ghc/rts/Schedule.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Schedule.h,v 1.31 2002/03/12 13:57:12 simonmar Exp $ + * $Id: Schedule.h,v 1.35 2002/07/25 18:37:00 sof Exp $ * * (c) The GHC Team 1998-1999 * @@ -58,6 +58,7 @@ StgTSO *unblockOne(StgTSO *tso); * Locks assumed : none */ void raiseAsync(StgTSO *tso, StgClosure *exception); +void raiseAsyncWithLock(StgTSO *tso, StgClosure *exception); /* awaitEvent() * @@ -135,15 +136,8 @@ extern nat rts_n_waiting_workers; extern nat rts_n_waiting_tasks; #endif +StgInt forkProcess(StgTSO *tso); -/* Sigh, RTS-internal versions of waitThread(), scheduleThread(), and - rts_evalIO() for the use by main() only. ToDo: better. */ -extern SchedulerStatus waitThread_(StgTSO *tso, - /*out*/StgClosure **ret -#if defined(THREADED_RTS) - , rtsBool blockWaiting -#endif - ); extern SchedulerStatus rts_mainEvalIO(HaskellObj p, /*out*/HaskellObj *ret); @@ -189,14 +183,16 @@ typedef struct StgMainThread_ { */ extern StgMainThread *main_threads; +void printAllThreads(void); +#ifdef COMPILING_SCHEDULER +static void printThreadBlockage(StgTSO *tso); +static void printThreadStatus(StgTSO *tso); +#endif /* debugging only */ #ifdef DEBUG -void printThreadBlockage(StgTSO *tso); -void printThreadStatus(StgTSO *tso); -void printAllThreads(void); -#endif void print_bq (StgClosure *node); +#endif #if defined(PAR) void print_bqe (StgBlockingQueueElement *bqe); #endif