Fix a bug in the recompilation checking logic.
[ghc-hetmet.git] / rts / Capability.h
index dc0a28e..db9e1e3 100644 (file)
@@ -109,7 +109,10 @@ struct Capability_ {
 } // typedef Capability is defined in RtsAPI.h
   // Capabilities are stored in an array, so make sure that adjacent
   // Capabilities don't share any cache-lines:
-  ATTRIBUTE_ALIGNED(64);
+#ifndef mingw32_HOST_OS
+  ATTRIBUTE_ALIGNED(64)
+#endif
+  ;
 
 
 #if defined(THREADED_RTS)
@@ -242,9 +245,13 @@ void shutdownCapability (Capability *cap, Task *task, rtsBool wait_foreign);
 //
 rtsBool tryGrabCapability (Capability *cap, Task *task);
 
-// Try to steal a spark from other Capabilities
+// Try to find a spark to run
+//
+StgClosure *findSpark (Capability *cap);
+
+// True if any capabilities have sparks
 //
-rtsBool stealWork (Capability *cap);
+rtsBool anySparks (void);
 
 INLINE_HEADER rtsBool emptySparkPoolCap (Capability *cap);
 INLINE_HEADER nat     sparkPoolSizeCap  (Capability *cap);
@@ -262,8 +269,8 @@ extern void grabCapability (Capability **pCap);
 // cause all capabilities to context switch as soon as possible.
 void setContextSwitches(void);
 
-// Free a capability on exit
-void freeCapability (Capability *cap);
+// Free all capabilities
+void freeCapabilities (void);
 
 // FOr the GC:
 void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta,