#include "RtsUtils.h"
#include "Capability.h"
+#if !defined(SMP)
+Capability MainCapability; /* for non-SMP, we have one global capability */
+#endif
static
void
#endif
}
-void releaseCapability(Capability** cap)
+void releaseCapability(Capability* cap)
{
#if defined(SMP)
- (*cap)->link = free_capabilities;
- free_capabilities = *cap;
+ cap->link = free_capabilities;
+ free_capabilities = cap;
rts_n_free_capabilities++;
#endif
return;
/* ToDo: assume that RtsFlags.h has been included at usage sites of Capability.h? */
#if !defined(SMP)
-Capability MainCapability;
+extern Capability MainCapability;
#endif
extern void initCapabilities(void);
extern void grabCapability(Capability** cap);
-extern void releaseCapability(Capability** cap);
+extern void releaseCapability(Capability* cap);
#if defined(SMP)
extern nat rts_n_free_capabilities; /* total number of available capabilities */
/* ---------------------------------------------------------------------------
- * $Id: Schedule.c,v 1.119 2002/02/07 06:33:20 sof Exp $
+ * $Id: Schedule.c,v 1.120 2002/02/08 03:44:01 sof Exp $
*
* (c) The GHC Team, 1998-2000
*
tok = cap->r.rCurrentTSO->id;
/* Hand back capability */
- releaseCapability(&cap);
+ releaseCapability(cap);
#if defined(RTS_SUPPORTS_THREADS) && !defined(SMP)
/* Preparing to leave the RTS, so ensure there's a native thread/task