* an improvement(?) suggestion and a question
@ 1992-03-19 12:54 malte
1992-03-19 13:25 ` Matthew Farwell
0 siblings, 1 reply; 2+ messages in thread
From: malte @ 1992-03-19 12:54 UTC (permalink / raw)
To: rc
Hello *,
in rc's man page it says that $0 is set to name of the function during its
execution, so a naive thought came to my mind:
fn sighup sigint {
echo $progname was killed by $0 | mail somebody
exit 2
}
But this does not work since $0 when catching a signal is the name of
of the function rc was currently working on.
To change this, I have two suggestions:
1) Change the signal handler to place the signals name in $0
and allow $* to be referenced with negative indices, with
$*(-1) evaluating to the name of the function the present
function was called from, $*(-2) ...
This is a more general solution, or
2) Introduce a new special variable $signal which evaluates to
the name of the most current signal, so that the above example
will read
...
echo $progname was killed by $signal | mail somebody
...
How about that?
Now the question: Does anybody know of a more elegant way to temporarily
disable the '-e' feature (exit on failure)? The only way I can think of is
command || true
Malte.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: an improvement(?) suggestion and a question
1992-03-19 12:54 an improvement(?) suggestion and a question malte
@ 1992-03-19 13:25 ` Matthew Farwell
0 siblings, 0 replies; 2+ messages in thread
From: Matthew Farwell @ 1992-03-19 13:25 UTC (permalink / raw)
To: rc
In article <9203191254.AA02417@dahlie.techfak.uni-bielefeld.de> malte@techfak.uni-bielefeld.de writes:
>in rc's man page it says that $0 is set to name of the function during its
>execution, so a naive thought came to my mind:
>
> fn sighup sigint {
> echo $progname was killed by $0 | mail somebody
> exit 2
> }
>
>But this does not work since $0 when catching a signal is the name of
>of the function rc was currently working on.
>
>To change this, I have two suggestions:
> 1) Change the signal handler to place the signals name in $0
> and allow $* to be referenced with negative indices, with
> $*(-1) evaluating to the name of the function the present
> function was called from, $*(-2) ...
>
>This is a more general solution, or
>
> 2) Introduce a new special variable $signal which evaluates to
> the name of the most current signal, so that the above example
> will read
> ...
> echo $progname was killed by $signal | mail somebody
> ...
Or set $1 inside a signal handler to the name of the signal sent to the
function, ie
fn sigint sighup {
echo $0 killed by signal $1
}
Dylan.
--
re-invented wheels are often square -- Henry Spencer
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~1992-03-19 13:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1992-03-19 12:54 an improvement(?) suggestion and a question malte
1992-03-19 13:25 ` Matthew Farwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).