Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: zsh 3.0.2 and Linux/AXP signal problem
- X-seq: zsh-workers 2706
- From: David Krinsky <krinsky@xxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxxx
- Subject: PATCH: zsh 3.0.2 and Linux/AXP signal problem
- Date: Thu, 2 Jan 1997 15:24:17 -0500 (EST)
- In-reply-to: <Pine.OSF.3.95.961228041919.24266A-100000@xxxxxxxxxxxxxxx>
Last year ;) I emailed the list w.r.t. a problem I was having;
when a program exited with certain signals, zsh would fail to trap the
signals and would die:
On Sat, 28 Dec 1996, David Krinsky wrote:
> Under certain conditions--which I have been unable to pin down exactly
> (they seem to have something to do with programs exiting abnormally--they
> include terminating "last | less" by pressing "q" and running programs
> which dump core)--zsh dies with
>
> Command terminated on signal 11.
Anyway, I've tracked down the problem; Src/signames.awk wasn't finding
the kernel header file with all the signal names.
It seems that on some kernel versions--I'm not sure which (2.0.18, the one
I currently have, has this problem; 2.0.27 doesn't seem to)--the names
are split from <asm/signal.h> into <asm/signum.h>. The latter is included
by the former, but signames.awk obviously doesn't find it.
The reason for this apparently has to do with using the same signal names
as Digital Unix--not other Linuces--and thus is an Alpha-only problem.
The following patch to configure fixes the problem; please include it in
the distribution if possible.
*** configure.orig Thu Jan 2 14:39:05 1997
--- configure Thu Jan 2 14:41:29 1997
***************
*** 2835,2843 ****
echo "configure:2836: checking where signal.h is located" >&5
if eval "test \"`echo '$''{'zsh_cv_path_signal_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
! for SIGNAL_H in /usr/include/bsd/sys/signal.h /usr/include/asm/signal.h /usr/include/linux/signal.h /usr/include/sys/signal.h /dev/null; do
test -f $SIGNAL_H && \
grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
break
done
--- 2835,2843 ----
echo "configure:2836: checking where signal.h is located" >&5
if eval "test \"`echo '$''{'zsh_cv_path_signal_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
! for SIGNAL_H in /usr/include/bsd/sys/signal.h /usr/include/asm/signal.h /usr/include/linux/signal.h /usr/include/sys/signal.h /usr/include/asm/signum.h /dev/null; do
test -f $SIGNAL_H && \
grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
break
done
Messages sorted by:
Reverse Date,
Date,
Thread,
Author