From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1625 invoked from network); 13 Jun 2001 09:31:14 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 13 Jun 2001 09:31:14 -0000 Received: (qmail 6160 invoked by alias); 13 Jun 2001 09:30:30 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14893 Received: (qmail 6148 invoked from network); 13 Jun 2001 09:30:29 -0000 Message-ID: To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: General unqueue_signal problem In-reply-to: ""Andrej Borsenkow""'s message of "Wed, 13 Jun 2001 10:34:14 +0400." <000401c0f3d2$dd2dc560$21c9ca95@mow.siemens.ru> Date: Wed, 13 Jun 2001 10:30:22 +0100 From: Peter Stephenson "Andrej Borsenkow" wrote: > > cc -qlanglvl=ansi -s -o zftp.so -bI:../../Src/zsh.export > > -bE:zftp.export -emodentry zftp..o ../../Src/modentry..o -ldl -lcurses > > -lm -lc > > ld: 0711-317 ERROR: Undefined symbol: .handler > > This comes from unqueue_signals() macro. This macro directly calls handler() > from signals.c (at least, I presume it is this one). But as I understand, > zftp.c sometimes install its own handler. Any other module may possible > install own handler as well. > > I do not understand how signal queuing works - anybody cares to check it? It > is trivial to add mod_export to handler deinition - but I do not like it. At > least, we should change the name then. handler is too cute for a globally > visible function. Adding mod_export is obviously the right first step, and probably ought to fix this particular bug. I haven't got time to change the name `handler' at the moment, but replacing it by zhandler sounds sensible. Index: Src/signals.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/signals.c,v retrieving revision 1.17 diff -u -r1.17 signals.c --- Src/signals.c 2001/05/23 08:53:12 1.17 +++ Src/signals.c 2001/06/13 09:28:31 @@ -400,7 +400,7 @@ /* the signal handler */ /**/ -RETSIGTYPE +mod_export RETSIGTYPE handler(int sig) { sigset_t newmask, oldmask; -- Peter Stephenson Software Engineer CSR Ltd., Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **********************************************************************