From: Martin Str|mberg Subject: Re: Question about djgpp's int-wrapper Newsgroups: comp.os.msdos.djgpp References: <5 DOT 0 DOT 2 DOT 1 DOT 2 DOT 20020608134608 DOT 009e4050 AT pop DOT gmx DOT net> User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (NetBSD/1.5_BETA (alpha)) Message-ID: <1023563246.110317@queeg.ludd.luth.se> Cache-Post-Path: queeg.ludd.luth.se!unknown AT speedy DOT ludd DOT luth DOT se X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/) Date: 08 Jun 2002 19:07:26 GMT Lines: 22 NNTP-Posting-Date: 08 Jun 2002 19:07:26 GMT NNTP-Posting-Host: queeg.ludd.luth.se X-Trace: 1023563246 news.luth.se 287 130.240.16.109 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Martin Steuer wrote: : While examining the source of the wrapper in gopint.c I found that it does : not issue a 'sti' before returning with 'iret'. : So I wonder if this is ok, as the DPMI Spec. says that 'popf' and thus also : 'iret' may not modify the interrupt flag, wouldn't this leave the : interrupts disabled? : I realize that the wrapper is also written for software interrupts where : the interrupts aren't disabled. Then of course this is the right behaviour, : but it would mean that one must issue a 'sti' within your interrupt handler : if the wrapper is used for hardware interrupts. Is this right? : Please tell me if i'm mistaken. If interrupts were enabled before the interrupt came along, the iret that returns control to the interrupted code should enable them again as the IF is set in the image on the stack. Right, MartinS