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

Alexander Gavrilov angavrilov at gmail.com
Sun Oct 11 11:19:38 UTC 2009


> 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.

Seems to work here on Fedora 11 x86_64 in any combination:


> (test 0.0)                                          

#<a DIVISION-BY-ZERO>

Available restarts:

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

Broken at SI:BYTECODES. [Evaluation of: (TEST2 0.0)] In: #<process SI:TOP-LEVEL 0000000001abaf60>.
>> :pop                                                                                           

Top level in: #<process SI:TOP-LEVEL 0000000001abaf60>.
> (test 0.0)                                          

#<a DIVISION-BY-ZERO>

Available restarts:

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

Broken at SI:BYTECODES. [Evaluation of: (TEST2 0.0)] In: #<process SI:TOP-LEVEL 0000000001abaf60>.
>> (test 0.0)

Debugger received error: #<a DIVISION-BY-ZERO>
Error flushed.



> > 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?


> (mp:process-run-function 'foo (lambda () (loop)))

#<process FOO 0000000001abaea0>
> (loop)
^C
;;; Suspending process #<process FOO 0000000001abaea0>
;;; Suspending process #<process TOP-LEVEL 0000000001abaf60>
Console interrupt

Available restarts:

1. (CONTINUE) CONTINUE
2. (INTERRUPT-PROCESS) Interrupt a certain process.

Broken at NIL. In: #<process SI:HANDLE-SIGNAL 0000000001abae40>.
>> :r2

(#<process FOO 0000000001abaea0> #<process SI:TOP-LEVEL 0000000001abaf60>)
Choose the integer code of process to interrupt.
Use special code 0 to cancel this operation.
   1: #<process FOO 0000000001abaea0>
   2: #<process SI:TOP-LEVEL 0000000001abaf60>
>> 1

Console interrupt

No restarts available.

Broken at LAMBDA. In: #<process FOO 0000000001abaea0>.
>> :continue

NIL
>>


Alexander




More information about the ecl-devel mailing list