X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FCapability.h;h=3ebb9f060cb2716d1fa4de0cfaa287b5cbbbed4c;hb=b25ebcf682220e365cfa39d5ea55263c89ee4fb2;hp=b559dcd2dc790db23d8a953fefe568272c4a7d13;hpb=9348149e3cfbda59690c6c6f16dd38008f0fa59d;p=ghc-hetmet.git diff --git a/ghc/rts/Capability.h b/ghc/rts/Capability.h index b559dcd..3ebb9f0 100644 --- a/ghc/rts/Capability.h +++ b/ghc/rts/Capability.h @@ -78,6 +78,12 @@ struct Capability_ { }; // typedef Capability, defined in RtsAPI.h +#if defined(THREADED_RTS) +#define ASSERT_TASK_ID(task) ASSERT(task->id == osThreadId()) +#else +#define ASSERT_TASK_ID(task) /*empty*/ +#endif + // These properties should be true when a Task is holding a Capability #define ASSERT_CAPABILITY_INVARIANTS(cap,task) \ ASSERT(cap->running_task != NULL && cap->running_task == task); \ @@ -85,8 +91,7 @@ struct Capability_ { ASSERT(cap->run_queue_hd == END_TSO_QUEUE ? \ cap->run_queue_tl == END_TSO_QUEUE : 1); \ ASSERT(myTask() == task); \ - ASSERT(task->id == osThreadId()); - + ASSERT_TASK_ID(task); // Converts a *StgRegTable into a *Capability. //