1. [syn: re-entrant, reentrant]
The Collaborative International Dictionary of English v.0.48:
Reentrant \Re*en"trant\ (-trant), a.
Reentering; pointing or directed inwards; as, a reentrant
WordNet (r) 3.0 (2006):
adj 1: (of angles) pointing inward; "a polygon with re-entrant
angles" [syn: re-entrant, reentrant] [ant: salient]
The Free On-line Dictionary of Computing (30 December 2018):
Used to describe code which can have multiple
simultaneous, interleaved, or nested invocations which will
not interfere with each other. This is important for
parallel processing, recursive functions or subroutines,
and interrupt handling.
It is usually easy to arrange for multiple invocations
(e.g. calls to a subroutine) to share one copy of the code and
any read-only data but, for the code to be re-entrant, each
invocation must use its own copy of any modifiable data (or
synchronised access to shared data). This is most often
achieved using a stack and allocating local variables in a
new stack frame for each invocation. Alternatively, the
caller may pass in a pointer to a block of memory which that
invocation can use (usually for outputting the result) or the
code may allocate some memory on a heap, especially if the
data must survive after the routine returns.
Re-entrant code is often found in system software, such as
operating systems and teleprocessing monitors. It is also
a crucial component of multithreaded programs where the term
"thread-safe" is often used instead of "re-entrant".