Waiting On Event - Time Out - Suspend

jwestmoreland wrote on Friday, April 28, 2006:

Hello Richard,

I was wondering about the following - and if it’s possible to suspend in such a way as to make the task startup back at the beginning:


for (;:wink:

vTaskSuspend(NULL);  // ‘normal’ - gets resumed elsewhere

.do stuff
while ( event != event_complete ) {

if (timeout++ == TIME_OUT) {


.more stuff

} // end task

I guess the problem is that if a timeout occurs - more stuff gets done when the task is resumed - instead of do stuff getting done first.

I don’t know if this is possible - but is there a way to suspend that will force the task to resume at the ‘top’ of the task?

John W.


rtel wrote on Friday, April 28, 2006:

How about, the task creates another copy of itself then deletes itself?

jwestmoreland wrote on Saturday, April 29, 2006:

OK - I guess that could work.