Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: comp.lang.c Subject: Re: what the heck is "reentrant"? Message-ID: <8269@brl-smoke.ARPA> Date: 29 Jul 88 21:58:40 GMT References: <650002@hpcilzb.HP.COM> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 14 In article <650002@hpcilzb.HP.COM> tedj@hpcilzb.HP.COM (Ted Johnson) writes: >What the heck is the definition of "reentrant" vs. "non-reentrant", >for subroutines and programs? A reentrant routine can be interrupted in the midst of operation, reinitiated on behalf of the interrupt-processing thread of execution, then resumed at the point of interruption with neither invocation broken by the other. A non-reentrant routine can't. There is also the concept of "serially reusable" which means that the routine can be executed from start to finish more than once with no coupling between the invocations. Most C functions are written to be serially reusable; they don't modify data having static storage duration.