CPU reduced power modes

Does FreeRTOS have idle-task type hooks to allow a CPU to enter reduced power states (CPU HALT or SLEEP states) if no tasks are scheduled?  I see some possible ways to do it, but is there a "right" way to do this type of thing? Thanks.

CPU reduced power modes

I use the vApplicationIdleHook() hook (and define configUSE_IDLE_HOOK as 1 so it gets called) and place the code to put the CPU in sleep mode in there. This assumes that the CPU will automatically wake up on an interrupt, if not, you may need to add the code to speed up the processor somewhere too.