semaphore in coroutine?

dcraw101 wrote on Saturday, December 08, 2007:

Is it possible to simulate a semaphore for use in coroutines by creating a queue using xQueueCreate(1, 0);  Would I have to pass a pointer to allocated storage in the pvItemToQueue parameter in the crQUEUE_SEND call or could I just set this parameter to zero?

Also, on a separate issue the docs say that crQUEUE_SEND can only be called from within the co-routine function itself and not from a function called by the co-routine.  I was wondering if it was safe to violate this rule if the xTicksToWait parameter was set to zero and hence cause the crQUEUE_SEND call to be non-blocking?