delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/13/13:17:07

Message-Id: <4.2.1.19991212161237.00ab1810@popmail.mcs.net>
X-Sender: locke AT popmail DOT mcs DOT net
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.1
Date: Sun, 12 Dec 1999 16:19:48 -0600
To: Pierre Muller <muller AT cerbere DOT u-strasbg DOT fr>,
Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
From: Peter Johnson <locke AT mcs DOT net>
Subject: Re: NT4 DPMI BUG (303h, Allocate Real-Mode Callback)
Cc: djgpp AT delorie DOT com
In-Reply-To: <3.0.6.32.19991212231044.00928100@ics.u-strasbg.fr>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 991212140216 DOT 19096U-100000 AT is>
<MPG DOT 12bbad46af52508b9896d9 AT news DOT cso DOT uiuc DOT edu>
Mime-Version: 1.0
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

At 11:10 PM 12/12/99 +0100, muller AT cerbere DOT u-strasbg DOT fr wrote:
>   I mean that I only reserved room for one such structure inside
>the loader file (equivalent of crt0.S)
>so all calls to 0x303 DPMI function must use the same
>register struct !

I don't think this will work.  What about the case when you have two 
callbacks and one gets called while the other is in the midst of 
execution?  That single registers structure will be overwritten.

Workaround: the callback handler copies the registers structure into local 
(to the handler) storage as soon as it gets called.

Even with this workaround, I feel uncomfortable about multiple handlers 
sharing a single structure, and it requires adding code to the handler, 
which is something that would be nice to avoid.

Peter Johnson

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019