[Ecls-list] Signaling a more specific condition on signals.
Pascal J. Bourguignon
pjb at informatimago.com
Sat Aug 21 20:08:02 UTC 2010
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> writes:
> On Fri, Aug 20, 2010 at 10:23 PM, Pascal J. Bourguignon <pjb at informatimago.com> wrote:
>
> When a unix signal is received, ecl cl:signals a simple-error with:
>
> unixint.d:370: FEerror("Serious signal ~D caught.", 1, signal_code);
>
> In this it would be better if a specific condition was signaled
> instead, so that applications could more easily handle the signal.
>
> It's in CVS now. Slight change of names. Please report if it works for you!
>
> (define-condition ext:unix-signal-received ()
> ((code :type fixnum
> :initform 0
> :initarg :signal-code
> :accessor ext:unix-signal-received-code))
> (:report (lambda (condition stream)
> (format stream "Serious signal ~D caught."
> (ext:unix-signal-received-code condition)))))
It seems the CVS repository is in an unstable state:
cd c; make
make[2]: Entering directory `/home/pjb/firms/medicalis/src/tools/ecl-20100821220342/build/c'
cat /home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/symbols_list.h | \
sed -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g' \
-e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,"\2"}%g' \
-e 's%{NULL.*%{NULL,NULL}};%' > /home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/symbols_list2.h
if test -f ../CROSS-DPP; then touch dpp; else \
gcc -I/home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c -I/home/pjb/firms/medicalis/src/tools/ecl-20100821220342/build -I./ /home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/dpp.c -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib64/libffi-3.0.9/include/ -fPIC -D_THREAD_SAFE -Dlinux -o dpp ; \
fi
In file included from /usr/include/stdlib.h:25,
from /home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/dpp.c:71:
/home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/features.h:18: error: expected ')' before 'static'
In file included from /home/pjb/firms/medicalis/src/tools/ecl-20100821220342/src/c/dpp.c:71:
/usr/include/stdlib.h:96: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__BEGIN_NAMESPACE_STD'
/usr/include/stdlib.h:140: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
/usr/include/stdlib.h:145: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
/usr/include/stdlib.h: In function 'atoi':
/usr/include/stdlib.h:149: error: expected declaration specifiers before '__THROW'
/usr/include/stdlib.h:152: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
I compile ecl with:
( make clean || true ;ulimit -s 32000 ;export CFLAGS=-I/usr/lib64/libffi-3.0.9/include/ ;\
./configure \
--prefix=\"$HOME/opt\" \
--with-dffi \
--enable-shared \
--enable-rpath \
--enable-threads=yes \
--enable-opcode8 \
--enable-unicode \
--enable-longdouble && make && make install ) >> /home/pjb/firms/medicalis/src/tools/ecl-20100821220342.log 2>&1
--
__Pascal Bourguignon__ http://www.informatimago.com/
More information about the ecl-devel
mailing list