From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6205 invoked from network); 14 Jun 2000 12:21:11 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 Jun 2000 12:21:11 -0000 Received: (qmail 17594 invoked by alias); 14 Jun 2000 12:20:57 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11892 Received: (qmail 17587 invoked from network); 14 Jun 2000 12:20:57 -0000 Date: Wed, 14 Jun 2000 13:20:28 +0100 From: Peter Stephenson Subject: Re: Wordcode functions with empty bodies In-reply-to: "Your message of Wed, 14 Jun 2000 08:14:51 +0200." <200006140614.IAA01313@beta.informatik.hu-berlin.de> To: zsh-workers@sunsite.auc.dk (Zsh hackers list) Message-id: <0FW5001JJ8Y41M@la-la.cambridgesiliconradio.com> Content-transfer-encoding: 7BIT > Placing some breakpoints in signals.c, I noticed a) that I think the > memory handling there seems to be wrong and b) that I don't understand > the control flow (again), so I don't dare to fiddle with it. > > About a): the freeeprogs() don't seem to get called. See also Felix' > last memory leak message (11766), describing a memory leak there. So I > think the eprog copied at line 675 somehow survives too long, is freed > elsewhere (does signals.c really keep the original?) and later > accessed. Or something. (In my reply to 11766 in 11796 I meant to say > that maybe Peter should have a look at it, him probably being the only > one who really understands what goes on in signals.c or what should go > on...) I don't, and never have, understood signal handling, I just rewrote the trap handling rather minimally to implement localtraps, and have simplified it at least twice since then, so it probably needs it again. If you can find a particular chunk of code which seems to be doing something wrong (shorter than the complete traps test) I'll have a look at it sometime. -- Peter Stephenson Cambridge Silicon Radio, Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070