why can't a blocking call within a switch

icefishhead wrote on Monday, June 23, 2008:


I find in the document that “The default co-routine implementation included in the FreeRTOS download does not permit a blocking call to be made from within a switch statement.” But I don’t know why? anyone know that?

rtel wrote on Monday, June 23, 2008:

This is because the co-routine macros themselves (ab)use switch statements.  The alternative is to use goto statements instead, which removes the switch statement restriction but most people frown at any goto usage.