From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from techfac.techfak.uni-bielefeld.de ([129.70.132.100]) by hawkwind.utcs.toronto.edu with SMTP id <2776>; Thu, 5 Nov 1992 15:45:52 -0500 Received: from dahlie.TechFak.Uni-Bielefeld.DE by techfac.techfak.uni-bielefeld.de (5.65+bind 1.7+ida 1.4.2/tp.270592) id AA27097; Thu, 5 Nov 92 21:45:34 +0100 Received: by dahlie.techfak.uni-bielefeld.de (4.1/tp.29.0890) id AA01130; Thu, 5 Nov 92 21:45:32 +0100 Date: Thu, 5 Nov 1992 15:45:32 -0500 From: malte@techfak.uni-bielefeld.de Message-Id: <9211052045.AA01130@dahlie.techfak.uni-bielefeld.de> To: rc@hawkwind.utcs.toronto.edu Subject: rc and signal handlers I just came across a situation were I want to temporarily change the sematics of a signal handler, say during the execution of a function. fn doit { sighdlr = `` $nl { whatis -s | fgrep 'fn sigint' } ... eval $sighdlr } doesn't work, of course. What is needed is a kind of local signal handler, or a way to put a signal handler definition into a variable like fn doit { whatis fn sigint var ... eval $var } I suggest local signal handlers and local functions. Also, the man-page is not too clear about signals: "Only signals that are being ignored are passed on to programs run by rc" The should read "signals that are being caught", I guess. Signal handler definitions look like functions but are *not*; it should be stated that one cannot "return" from a signal handler. Malte