delorie.com/archives/browse.cgi | search |
Date: | Tue, 14 Aug 2001 15:30:37 +0300 |
From: | "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> |
Sender: | halo1 AT zahav DOT net DOT il |
To: | djgpp-workers AT delorie DOT com |
Message-Id: | <2950-Tue14Aug2001153036+0300-eliz@is.elta.co.il> |
X-Mailer: | Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 |
CC: | acottrel AT ihug DOT com DOT au, pavenis AT lanet DOT lv, sandmann AT clio DOT rice DOT edu |
In-reply-to: | <3B791F66.22654.6DAEEC@localhost> (pavenis@lanet.lv) |
Subject: | Re: Selector Exhaustion |
References: | <3B791F66 DOT 22654 DOT 6DAEEC AT localhost> |
Reply-To: | djgpp-workers AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp-workers AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
> From: pavenis AT lanet DOT lv > Date: Tue, 14 Aug 2001 12:53:58 +0300 > > Here is patch that seems to work both under Win98SE and > WinNT 4.0+SP6 (with my test program). I added wrapper procedure > around original direct_exec_tail() as I think it's easier to debug if > needed. Thanks. > + if (is_nt) > + { > + sel1 = __dpmi_allocate_ldt_descriptors (1); > + } > + else > + { > + char * map = desc_map; > + for (i=0x0000007; i<0x00010000; i+=8) > + { /* FIXME: Use __dpmi_get_selector_increment_value() instead of 8 ? */ > + *map++ = (__dpmi_get_descriptor_access_rights(i) & 0x80) ? 0 : 1; > + } > + } I think we need to make sure the else clause doesn't get run on plain MS-DOS, at least with CWSDPMI. It's a waste of time in that case.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |