Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!hubcap!ncrcae!ncr-sd!hp-sdd!hplabs!hpda!hpsal2!andrews From: andrews@hpsal2.HP.COM (Edward E. Andrews) Newsgroups: comp.sys.ibm.pc Subject: Releasing memory after loading a program Message-ID: <2550001@hpsal2.HP.COM> Date: Mon, 19-Oct-87 15:06:26 EDT Article-I.D.: hpsal2.2550001 Posted: Mon Oct 19 15:06:26 1987 Date-Received: Sat, 24-Oct-87 06:27:20 EDT Organization: Hewlett Packard, Cupertino Lines: 17 I am writing a program that does the following: - Modify memory allocation for my program (ah=4ah) - Load a program without executing (ah=4bh, al=01 [undocumented]) - Do stuff - Release memory from the load above (ah=49h) Now, when my program exits and I run CHKDSK, it will run but it will give me a memory allocation error when it terminates. If, however, I run a non-DOS program the system will continue to run until CHKDSK is run again. Appearently COMMAND.COM will validate the memory control block chain when it gets reloaded and I've messed it up. I've verified that I'm releasing the proper segments and that they have valid control blocks. If anybody knows why this is going on please RSVP so I can get some sleep.