[Ecls-list] Threads and signal masks (Was: Special symbols ... locking or thread-local bindings)
Matthew Mondor
mm_lists at pulsar-zone.net
Thu Aug 4 18:24:10 UTC 2011
On Tue, 2 Aug 2011 22:06:41 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> wrote:
> (ext:catch-signal ext:+sigpipe+ nil) ;; Global
> (ext:catch-signal ext:+sigpipe+ nil :local t) ;; Thread local
I initially tried using the first form for a global effect.
Unfortunately, it seems like the generated C is wrong:
(void)si_catch_signal(MAKE_FIXNUM(13),Cnil) /* CATCH-SIGNAL */;
Which results in a C compiler error:
ecl-server2.c: In function 'L19bind_socket':
ecl-server2.c:839: error: too few arguments to function 'si_catch_signal'
and effectively, the prototype is:
src/h/external.h:extern ECL_API cl_object si_catch_signal(cl_narg narg, cl_object signal, cl_object state, ...);
When using the second form, another error is generated, but this time
an ECL compiler one:
;;; Error:
;;; in file ecl-server2.lisp, position 7431
;;; at (DEFUN BIND-SOCKET ...)
;;; * Wrong number of arguments for function EXT:CATCH-SIGNAL
Thanks,
--
Matt
More information about the ecl-devel
mailing list