This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2 02/13] script language API for GDB: extension.[ch]
- From: Mark H Weaver <mhw at netris dot org>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: ludo at gnu dot org (Ludovic CourtÃs), guile-user at gnu dot org, gdb-patches at sourceware dot org
- Date: Tue, 21 Jan 2014 23:21:28 -0500
- Subject: Re: [PATCH v2 02/13] script language API for GDB: extension.[ch]
- Authentication-results: sourceware.org; auth=none
- References: <52a7f3e8 dot e7ed440a dot 1c58 dot 020f at mx dot google dot com> <87vbyffcwu dot fsf at fleche dot redhat dot com> <CAP9bCMQx_pDKsRTDv5h62kqO4==MTJ80XsZ2RYfpzsjDT1u68g at mail dot gmail dot com> <87txdklqk4 dot fsf at gnu dot org> <87r48kkc9g dot fsf at fleche dot redhat dot com> <87eh4krl81 dot fsf at gnu dot org> <87iotvixu4 dot fsf at fleche dot redhat dot com> <87vbxv8kag dot fsf at gnu dot org> <87sisqv0dm dot fsf at fleche dot redhat dot com>
Tom Tromey <tromey@redhat.com> writes:
>>>>>> "Ludovic" == Ludovic CourtÃs <ludo@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