#define BlockedOnGA_NoSend 9
/* Only relevant for THREADED_RTS: */
#define BlockedOnCCall 10
-#define BlockedOnCCall_NoUnblockExc 11
- /* same as above but don't unblock async exceptions in resumeThread() */
+#define BlockedOnCCall_Interruptible 11
+ /* same as above but permit killing the worker thread */
/* Involved in a message sent to tso->msg_cap */
-#define BlockedOnMsgWakeup 12
-#define BlockedOnMsgThrowTo 13
+#define BlockedOnMsgThrowTo 12
+
+/* The thread is not on any run queues, but can be woken up
+ by tryWakeupThread() */
+#define ThreadMigrating 13
+
/*
* These constants are returned to the scheduler by a thread that has
* stopped for one reason or another. See typedef StgThreadReturnCode
*/
#define SPIN_COUNT 1000
+/* -----------------------------------------------------------------------------
+ Spare workers per Capability in the threaded RTS
+
+ No more than MAX_SPARE_WORKERS will be kept in the thread pool
+ associated with each Capability.
+ -------------------------------------------------------------------------- */
+
+#define MAX_SPARE_WORKERS 6
+
#endif /* RTS_CONSTANTS_H */