Context Switch Hook

jdabbs003 wrote on Tuesday, December 08, 2009:

I am trying to adapt a vendor printf/sprintf/sscanf library, which is not reentrant.  I am looking for a way to set a global pointer to a task specific context value each time a task is switched in. So far, I’ve thought of extending the port context structure with another pointer (messy) or using a callback hook to set a global pointer everytime a task switch happens (better).  Is there an official way or best way to do something like this?  Thanks.

jdabbs003 wrote on Tuesday, December 08, 2009:

Actually, to be clear, what I want is a user global variable that changes with each task switch to a task-specific value, exactly like how pxCurrentTCB works.

Is there a way to do this with FreeRTOS?

edwards3 wrote on Tuesday, December 08, 2009:

Search through the forum for threads that mention newlib as there is a link to a neat way of doing this with the newlib context pointer.