From owner-freebsd-current Tue Apr 22 13:02:15 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id NAA24954 for current-outgoing; Tue, 22 Apr 1997 13:02:15 -0700 (PDT) Received: from sovcom.relcom.ru (sovcom.relcom.ru [193.125.152.1]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id NAA24869; Tue, 22 Apr 1997 13:02:04 -0700 (PDT) Received: by sovcom.relcom.ru id AA04358 (5.65.kiae-1 ); Tue, 22 Apr 1997 22:42:27 +0300 Received: by sovcom.KIAE.su (UUMAIL/2.0); Tue, 22 Apr 97 22:42:27 +0300 Received: (from ache@localhost) by nagual.ru (8.8.5/8.8.5) id XAA00301; Tue, 22 Apr 1997 23:40:30 +0400 (MSD) Date: Tue, 22 Apr 1997 23:40:27 +0400 (MSD) From: =?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?= To: Bruce Evans Cc: current@freebsd.org, dyson@freebsd.org Subject: Re: Recent vfork kernel changes broke csh & tcsh! In-Reply-To: <199704221843.EAA29497@godzilla.zeta.org.au> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk On Wed, 23 Apr 1997, Bruce Evans wrote: > I think our non-simple malloc() behaviour triggers broken csh behaviour. > csh frees things in the parent that are allocated (only) in the child, > but this is not guaranteed to reset the malloc state. Leaving out all > the magic frees in the parent seems to avoid the problem. Leaving them > alone gives a next-process pointer pointing to the name of my test > command ("/bin/ls"). BSD vfork have follwing assumption: father suspended until child exec or exit, even manpage say that (do we broke _that_ rule?) What wrong happens in freeing memory in father which was malloced in a child? What do you mean by reset malloc state? -- Andrey A. Chernov http://www.nagual.ru/~ache/