delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/11/29/16:32:29

From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <9611292122.AA13371@clio.rice.edu>
Subject: Re: DPMI selectors under Win95
To: jack AT st DOT rim DOT or DOT jp (Daisuke Aoyama)
Date: Fri, 29 Nov 1996 15:22:07 -0600 (CST)
Cc: djgpp-workers AT delorie DOT com
In-Reply-To: <199611291755.CAA19783@mail.st.rim.or.jp> from "Daisuke Aoyama" at Nov 30, 96 02:30:03 am

> After calling spawnXX (about 2000 times) I got this message and  it
> crashed DOS box.
>     Load error: no DPMI selectors
> I found the parent process lost 4 selectors each time it called spawnXX.
> (Under NT4.0 it lost more.)

This is a bug in the DPMI provider.  There is no workaround except to 
exit the parent image before the children eat up all the selectors.
You didn't expect to get quality software from a virtual monopoly, did you?

> Under MS-DOS 6.2 + CWSDPMI it works fine.

Yes, CWSDPMI cleans up after the children the selectors which cannot be 
deallocated (since the CS/SS must be valid at exit).  There is even a 
test program in the test zip which checks this behavior.  The exit code
goes to great pains to free as many selectors as possible to minimize the
impact of the buggy DPMI providers, but there is no complete workaround.

- Raw text -


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