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:

vTaskA(…){

for (;:wink:

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

.
.do stuff
.
.
.
while ( event != event_complete ) {

if (timeout++ == TIME_OUT) {

        vTaskSuspend(NULL)
}
}

.
.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?

Thanks!
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.

Thanks,
John