Source : Webster's Revised Unabridged Dictionary (1913)
Reentrant \Re*["e]n"trant\ (-trant), a.
Re["e]ntering; pointing or directed inwardds; as, a re?ntrant
angle.
Source : WordNet®
reentrant
adj : (of angles) pointing inward; "a polygon with re-entrant
angles" [syn: {re-entrant}] [ant: {salient}]
Source : Free On-Line Dictionary of Computing
re-entrant
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".
(1996-12-21)