Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Blinker 5.10 Online Reference - <b> nesting multiple dos extended programs</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Nesting multiple DOS extended programs
------------------------------------------------------------------------------
 DPMI 0.9, as provided in the DOS compatibility boxes of Windows and OS/2,
 has an important restriction with regard to nesting of multiple DOS extended
 programs in the same session.

 All resources, such as memory, which are allocated by a secondary DPMI
 client , ie a DOS extended program being run from within another DOS
 extended program, will remain allocated until the primary DPMI client
 terminates. At this point all resources from both programs will be freed up
 and returned to the system.

 For this reason we strongly suggest that if programs are to be nested,
 whether it is using the native language SPAWN, SHELL or RUN command or with
 the BLINKER SWPRUNCMD() function, then the primary program should be a real
 mode program. As discussed elsewhere, this is also good practice as it makes
 better use of available memory than running two DOS extended programs within
 one another.

 An example of this situation is when running the R&R report writer from
 within a DOS extended program. R&R versions 6.0 and later are also DOS
 extended, so the memory used by R&R will not be freed up until the calling
 program is exited. The segments may be swapped to disk by the operating
 system, but the selectors would still remain allocated until the caller
 terminated.

 This restriction only applies to running under a DPMI 0.9 host, so programs
 running under DOS with a memory manager such as EMM386, QEMM386, 386MAX or
 NETROOM will not encounter the problem.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson