re-entrant

from WordNet (r) 3.0 (2006)
re-entrant
    adj 1: (of angles) pointing inward; "a polygon with re-entrant
           angles" [syn: {re-entrant}, {reentrant}] [ant: {salient}]
    
from The Collaborative International Dictionary of English v.0.48
Reentrant \Re*en"trant\ (-trant), a.
   Reentering; pointing or directed inwards; as, a reentrant
   angle.
   [1913 Webster]
    
from The Free On-line Dictionary of Computing (8 July 2008)
re-entrant

   <programming> 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)
    

[email protected]