On Fri, Jan 21, 2011 at 11:45 PM, Matthew Mondor <mm_lists@pulsar-zone.net> wrote:
With your exact test case, there is indeed no problem for me.  So I
tried two other tests, related to reception of SIGINT

Well, then I think I might know the problem. If this is a multithreaded ECL, when SIGINT is received, it is handled by a separate thread. However, this thread is spawned by a thread which is created before your code is executed. In other words, the handler thread never gets to see your restarts. At most the *debugger-hook* might be used to "push" restarts, but not that they do not make much sense, since they are executed on a standalone thread, where the notion of "continue" does not make much sense.

In an "ordinary" ECL the situation is a bit different, as the debugger is better "installed" and what it does is coordinate with the already running toplevel. I will look into your examples, which are clear and simple enough, to see what is going on there -- the third example is particularly ugly.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)