Is it safe to call xTaskCreate() from within a task that is then removed from memory, either by exiting normally or being killed off before the second tasks completes?
I can see that doing this will obviously cause memory fragmentation, but could there be any other side effects or lack of portability?
xTaskCreate() can be called from within a task. There is no link between the task that created it and the created task so you can safely delete either one without upsetting the other.
To delete a task you must call vTaskDelete(), not just run off the end of the task function. You can do this: