Reentrancy
Functions that are thread-safe but do not rely on synchronization mechanisms to keep critical data safe are said be reentrant.
Functions can often be made to be reentrant by adding an extra argument in their interfaces.
Many ANSI C thread-unsafe routines have reentrant counterparts in pthreads.