[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 02/13] script language API for GDB: extension.[ch]
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH v2 02/13] script language API for GDB: extension.[ch] |
Date: |
Tue, 07 Jan 2014 14:10:38 +0100 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) |
Tom Tromey <address@hidden> skribis:
>>>>>> "Ludovic" == Ludovic Courtès <address@hidden> writes:
>
> Ludovic> I’m not sure I understand the problem.
>
> Ludovic> What are extension languages typically expected to do when the ‘quit’
> Ludovic> flag is set?
>
> The basic idea is that if some extension code is running, then C-c ought
> to interrupt that code in the way expected by programmers writing code
> in that language.
>
> Python provides a kind of low-level API to its equivalent of Guile's
> SCM_TICK and async stuff. So the approach we took in gdb was to unify
> gdb's implementation with Python's, when Python is enabled. This
> ensures that a SIGINT delivery is handled a single time -- by Python if
> Python code is running, and by gdb if gdb code is running.
So do I get it right that it’s GDB that does signal(SIGINT, ...), and
its handler just calls PyOS_InterruptOccurred (or so) if Python code
happens to be running?
> One approach for multiple extension languages might be to notice when
> switching languages and move the bit. However I didn't see any way to
> do this in the Guile API. In Python it can be accomplished with
> PyErr_SetInterrupt and PyOS_InterruptOccurred.
Would it work, upon SIGINT, to do something like:
(system-async-mark (lambda ()
(throw 'system-error ... EINTR)))
That would eventually raise an exception in Scheme code.
Ludo’.
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Tom Tromey, 2014/01/06
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch],
Ludovic Courtès <=
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Tom Tromey, 2014/01/07
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Ludovic Courtès, 2014/01/07
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Tom Tromey, 2014/01/07
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Tom Tromey, 2014/01/14
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Ludovic Courtès, 2014/01/15
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Mark H Weaver, 2014/01/21
- Re: [PATCH v2 02/13] script language API for GDB: extension.[ch], Doug Evans, 2014/01/21