A reentrant function is one that can be used by more than one task concurrently without fear of data corruption.
A reentrant function can be interrupted at any time and resumed at a later time without loss of data.
A reentrant function:
Does not hold static data over successive calls
Does not return a pointer to static data; all data is provided by the caller of the function
Uses local data or ensures protection of global data by making a local copy of it
Must not call any non-reentrant functions
A reentrant function can be interrupted at any time and resumed at a later time without loss of data.
A reentrant function:
Does not hold static data over successive calls
Does not return a pointer to static data; all data is provided by the caller of the function
Uses local data or ensures protection of global data by making a local copy of it
Must not call any non-reentrant functions
The quieter you become, the more you can hear