Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site utah-cs.UUCP Path: utzoo!linus!decvax!harpo!utah-cs!lepreau From: lepreau@utah-cs.UUCP (Jay Lepreau) Newsgroups: net.unix-wizards,net.bugs.4bsd Subject: Re: C Shells do not free memory; (correction) Message-ID: <2914@utah-cs.UUCP> Date: Tue, 17-Jul-84 05:30:30 EDT Article-I.D.: utah-cs.2914 Posted: Tue Jul 17 05:30:30 1984 Date-Received: Wed, 18-Jul-84 06:38:51 EDT References: <8336@watmath.UUCP>, <2903@utah-cs.UUCP> Organization: Univ of Utah CS Dept Lines: 10 I dun forgot: as 4.2 was distributed csh used its own alloc.c, which is the old one, and of course does exhibit that nasty behavior after awhile. I had changed it here to use a modification of the standard libc one. Get rid of stdio, add support for the "alloc" builtin (use the mstats routine) and one surprise: remove the ASSERT for freeing a free block at the beginning of free(). Turns out csh does exactly that when processing the =~ and !~ operators, and if you look real close you'll discover that check is commented out in the original alloc.c. Jay Lepreau