[Ecls-list] ECL-generated executables and restarts
Matthew Mondor
mm_lists at pulsar-zone.net
Fri Jan 21 22:45:03 UTC 2011
On Fri, 21 Jan 2011 14:45:04 +0100
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at googlemail.com> wrote:
> I tried to reproduce what you are experiencing, without success
With your exact test case, there is indeed no problem for me. So I
tried two other tests, related to reception of SIGINT, since it's when
interrupting my software from the terminal while it was reading from a
socket:
(format t "~%Let's wait~%")
(restart-case
(sleep 10) ; Non-IO sleep
(my-restart ()
(format t "~%ABORTING!")
(ext:quit)))
(ext:quit)
$ ./program
Let's wait
^C Imediately exits upon reception of interactive CTRL-C
$
(format t "~%Let's read~%")
(restart-case
(read-line) ; IO sleep
(my-restart ()
(format t "~%ABORTING!")
(ext:quit)))
(ext:quit)
$ ./program
Let's read
efe^M
$ ./program
Let's read
^C
;;; Suspending process #<process SIGNAL-SERVICING>
;;; Suspending process #<process TOP-LEVEL>
Condition of type: INTERACTIVE-INTERRUPT
Console interrupt
Available restarts:
1. (CONTINUE) CONTINUE
2. (INTERRUPT-PROCESS) Interrupt a certain process.
Top level in: #<process HANDLE-SIGNAL>.
> ^D
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
Debugger received error of type: SEGMENTATION-VIOLATION
Detected access to an invalid or protected memory address.
Error flushed.
>
$
$ ./program
Let's read
^C
;;; Suspending process #<process SIGNAL-SERVICING>
;;; Suspending process #<process TOP-LEVEL>
Condition of type: INTERACTIVE-INTERRUPT
Console interrupt
Available restarts:
1. (CONTINUE) CONTINUE
2. (INTERRUPT-PROCESS) Interrupt a certain process.
Top level in: #<process HANDLE-SIGNAL>.
> :r1
Condition of type: SIMPLE-ERROR
Cannot interrupt the inactive process #<process SIGNAL-SERVICING>
No restarts available.
Top level in: #<process HANDLE-SIGNAL>.
> (ext:quit)
I suspect that the issue could be related to the (admitedly
non-trivial) problem of SIGINT handling...
Thanks,
--
Matt
More information about the ecl-devel
mailing list