Reentrant
Reentrant describes a property of a program unit, typically a function or routine, that can be safely entered again before its previous invocation has completed. A reentrant function can be interrupted in the middle of execution (by an interrupt, a signal, or a recursive call) and invoked again, with each invocation remaining correct regardless of interleaving.
To be reentrant, a function must not rely on static or global data that can be modified
In practice, reentrancy is a core concern in interrupt handlers and signal handlers, where code may be
Common examples include using strtok_r instead of strtok, and avoiding reliance on non-reentrant resources like static