home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!think.com!ames!agate!ucbvax!arwen.ics.muni.cs!ivos
- From: ivos@arwen.ics.muni.cs (Ivo Cernohlavek)
- Newsgroups: comp.protocols.tcp-ip.ibmpc
- Subject: Re: Packet driver reentrancy
- Message-ID: <9211061854.AA19895@arwen.ics.muni.cs>
- Date: 6 Nov 92 19:39:14 GMT
- References: <720764686snx@crynwr.com>
- Sender: daemon@ucbvax.BERKELEY.EDU
- Distribution: world
- Organization: The Internet
- Lines: 28
- X-Unparsable-Date: Fri, 6 Nov 92 19:54:16 CET
-
- > Are packet drivers supposed to be reentrant ?
- >
- > It's not clear.
-
- Why ? Please, correct me, if i'm wrong, but if the packet driver
- has to support multiple network stacks
- (such as IP, IPX, ...), and the stacks may be TSRs, activated from
- various events, potentially caused also by interrupts from any sources,
- it must be able to process a call from one stack, while processing
- call from another stack is in progress.
- Maybe some drivers don't really solve such situation, but such
- driver doesn't do its job correctly.
- What about CRYNWR drivers ;-) ( As i have studied (and used) code
- of crynwr packet driver skeleton, i hope, that it IS reentrant).
-
- > In particular, is is guaranteed to be safe to call a p.d's send routine
- > whilst executing in a receiver upcall ?
- >
- > No. Nonetheless, it works on many packet drivers...
-
- I agree. But it's something a little bit different from pure REENTRANCY,
- or it's a VERY SPECIAL kind of REENTRANCY.
- With some drivers (such as ETHERSLIP, when processing ARP packet),
- it can cause RECURSIVE call.
-
- Ivo Cernohlavek, Institute of Computer Science, Masaryk University,
- Brno, Czechoslovakia
- ivos@ics.muni.cs
-