/* -----------------------------------------------------------------------------
- * $Id: Schedule.h,v 1.42 2003/11/12 17:49:11 sof Exp $
+ * $Id: Schedule.h,v 1.45 2004/03/01 14:18:36 simonmar Exp $
*
* (c) The GHC Team 1998-1999
*
#elif defined(PAR)
void awakenBlockedQueue(StgBlockingQueueElement *q, StgClosure *node);
#else
-void awakenBlockedQueue(StgTSO *tso);
-#if defined(RTS_SUPPORTS_THREADS)
-void awakenBlockedQueueNoLock(StgTSO *tso);
-#endif
+void awakenBlockedQueue (StgTSO *tso);
+void awakenBlockedQueueNoLock (StgTSO *tso);
#endif
/* unblockOne()
#if defined(RTS_SUPPORTS_THREADS)
/* Schedule.c has detailed info on what these do */
extern Mutex sched_mutex;
-extern Condition thread_ready_cond;
extern Condition returning_worker_cond;
extern nat rts_n_waiting_workers;
extern nat rts_n_waiting_tasks;
Condition wakeup;
#endif
#endif
+ struct StgMainThread_ *prev;
struct StgMainThread_ *link;
} StgMainThread;
startSchedulerTaskIfNecessary(void);
#endif
+#ifdef DEBUG
+extern void sched_belch(char *s, ...);
+#endif
+
#endif /* __SCHEDULE_H__ */