/* ---------------------------------------------------------------------------
- * $Id: Schedule.c,v 1.174 2003/09/21 22:20:56 wolfgang Exp $
+ * $Id: Schedule.c,v 1.175 2003/09/26 13:32:14 panne Exp $
*
* (c) The GHC Team, 1998-2000
*
#include <errno.h>
#endif
+#ifdef THREADED_RTS
+#define USED_IN_THREADED_RTS
+#else
+#define USED_IN_THREADED_RTS STG_UNUSED
+#endif
+
+#ifdef RTS_SUPPORTS_THREADS
+#define USED_WHEN_RTS_SUPPORTS_THREADS
+#else
+#define USED_WHEN_RTS_SUPPORTS_THREADS STG_UNUSED
+#endif
+
//@node Variables and Data structures, Prototypes, Includes, Main scheduling code
//@subsection Variables and Data structures
------------------------------------------------------------------------ */
//@cindex schedule
static void
-schedule( StgMainThread *mainThread, Capability *initialCapability )
+schedule( StgMainThread *mainThread USED_WHEN_RTS_SUPPORTS_THREADS,
+ Capability *initialCapability )
{
StgTSO *t;
Capability *cap = initialCapability;
* ------------------------------------------------------------------------- */
StgBool
-isThreadBound(StgTSO* tso)
+isThreadBound(StgTSO* tso USED_IN_THREADED_RTS)
{
#ifdef THREADED_RTS
StgMainThread *m;
* Singleton fork(). Do not copy any running threads.
* ------------------------------------------------------------------------- */
+#ifdef THREADED_RTS
static void
deleteThreadImmediately(StgTSO *tso);
+#endif
StgInt
forkProcess(StgTSO* tso)
raiseAsync(tso,NULL);
}
+#ifdef THREADED_RTS
static void
deleteThreadImmediately(StgTSO *tso)
{ // for forkProcess only:
unblockThread(tso);
tso->what_next = ThreadKilled;
}
+#endif
void
raiseAsyncWithLock(StgTSO *tso, StgClosure *exception)