Tom Tromey <[email protected]> writes:
>>>>>> "Ludovic" == Ludovic Courtès <[email protected]> writes:
>
> Ludovic> I guess this is another limitation of Guile’s current signal handling
> Ludovic> strategy, and something we should fix.
>
> FWIW I think it would be sufficient for gdb if scm_system_async_mark, or
> something like it, could be invoked from a signal handler. Then a
> SIGINT in gdb could install an async callback that later checks gdb's
> quit flag.
As discussed on IRC, one way to accomplish this with current Guile is
as follows: establish a dedicated thread whose sole job it is to call
'scm_system_async_mark_for_thread' as directed by messages received from
a pipe. A signal handler can then schedule asyncs by writing messages
to this pipe.
We'll try to come up with an nicer solution at some point.
Mark