Return from Task

dmwilliams66 wrote on Wednesday, February 15, 2006:

I see there was a discussion about this a while back.  Where did it end up?

Is it simple to add a mechanism that permits a task returning from its primary function to return to a place that calls vTaskDelete?  I can foresee lots of my users thinking this is a natural thing to do.

Sorry in advance if this is a stupid question.


nobody wrote on Wednesday, February 15, 2006:

If you want to do this, can you not just add a call to vTaskDelete at the end of your task function manually?  It might not be wanted to add extra code to FreeRTOS to implement something that can be done very easily anyhow.

Just an opinion.

Alternatively you can place the return address that is on the inital stack (setup when the task is created) to jump to the delete function.  Then it would happen automatically which is ok as long as this is what you expect to happen.

dmwilliams66 wrote on Wednesday, February 15, 2006:

Thanks for your suggestions. 

The reason that I want to be able to have the vTaskDelete function be called automatically is that my customers (non-expert programmers) will, I predict, frequently forget.  In addition, I think it’s more natural to think of returning from a thread to mean that you’re done with it.

I like your second suggestion better, but I’m just getting started with FreeRTOS so I’m not super anxious to be playing with stack stuff just yet.  Maybe a little project for myself in the near future.