portENTER_CRITICAL() ------ vTaskSuspendAll()

nobody wrote on Wednesday, January 10, 2007:

what happens if I change all “portENTER_CRITICAL()” to “vTaskSupendAll()”??
will this be a risk?
the problem is that I don’t want to block that many interrupts.

nobody wrote on Wednesday, January 10, 2007:

I think you could change some, but not all.  The ones in QueueSend and QueueReceive have quite a specific interaction with TaskSuspendAll for example.  Also task delete I think would not work.  Basically each would have to be looked at in turn.  It would not necessarily improve efficiency though.  For very short critical sections the enter/exit critical are preferable.

embeddedc wrote on Wednesday, January 10, 2007:

You cannot yield from within a vTaskSupsendAll() vTaskResumeAll() pair.  When you do this the yield is pended until the vTaskResumeAll() call.

nobody wrote on Wednesday, January 10, 2007:

ok than I think that I will only use it for my functions.
thanks for the fast response!