PRB:Memory Not Freed by DOS 2.x for exec or spawn w/ P_OVERLAY

ID Number: Q24910

4.00 5.00 5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a

MS-DOS | OS/2

Summary:

SYMPTOMS

Within MS-DOS versions 2.x only, recurrent use of an exec()

function or a spawn() function with P_OVERLAY eventually causes a

return indicating that there is no more available RAM memory.

CAUSE

This is an MS-DOS versions 2.x problem, the exact nature of which

is unknown. Microsoft has traced the problem to the point where

MS-DOS corrupts memory, and memory is not freed back to MS-DOS

versions 2.x.

RESOLUTION

If you encounter this problem, upgrade to MS-DOS versions 3.x or

higher, which do not have this problem.

Apparently only the exec() family [or spawn() with P_OVERLAY

specified] is affected by this MS-DOS problem. The spawn() family

(except when P_OVERLAY is specified) seems to work correctly.

Additional reference words: 5.10 6.00 6.00a 6.00ax 7.00