[Ecls-list] [ANN] ECL v9.10.2

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Oct 11 11:01:53 UTC 2009


2009/10/10 Alexander Gavrilov <angavrilov at gmail.com>:
> Hi, I reverted the change, and SIGFPE seems to work normally here.
> I tested with the following compiled code and "ecl --trap-fpe":
>
> (defun test (x)
>  (ffi:c-inline (x) (:float) :void
>    "printf(\"%f\\n\", 1.0f/#0);"))
>
> (test 2.0)
> (test 0.0)

The problem was not in the detection of the _first_ SIGFPE, but on the
second. If I typed (/ 1.0 0.0) I got a SIGFPE. I could quit the error
handler, then type (/ 2.0 0.0) and the second SIGFPE was not handled
by our SIGFPE. The Linux system, or C library, had somehow uninstalled
our signal handler or was completely ignoring it. This was on
Ubuntu/x86_64, with all updates.

> The crashes with Ctrl-C seem to be gone, but :continue
> after manually interrupting a thread still does not work
> (there is no continue restart).

Strange. Don't you see (CONTINUE) in the list of restarts?

$ ecl -norc
ECL (Embeddable Common-Lisp) 9.10.2
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process SI:TOP-LEVEL 004a6fc0>.
>   C-c C-c
Console interrupt

Available restarts:

1. (CONTINUE) CONTINUE
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of: (SI:TOP-LEVEL)] In: #<process
SI:TOP-LEVEL 004a6fc0>.
>> :continue
2

2


-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list