| www.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 |