Tom Tromey <tro...@redhat.com> writes: >>>>>> "Ludovic" == Ludovic Courtès <l...@gnu.org> 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