[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