From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18789 invoked by alias); 22 Jan 2014 04:36:04 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18777 invoked by uid 89); 22 Jan 2014 04:36:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f178.google.com Received: from mail-wi0-f178.google.com (HELO mail-wi0-f178.google.com) (209.85.212.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 22 Jan 2014 04:35:57 +0000 Received: by mail-wi0-f178.google.com with SMTP id cc10so180514wib.5 for ; Tue, 21 Jan 2014 20:35:54 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.180.21.166 with SMTP id w6mr17393698wie.31.1390365354611; Tue, 21 Jan 2014 20:35:54 -0800 (PST) Received: by 10.194.17.104 with HTTP; Tue, 21 Jan 2014 20:35:54 -0800 (PST) In-Reply-To: <87zjmomyt3.fsf@netris.org> References: <52a7f3e8.e7ed440a.1c58.020f@mx.google.com> <87vbyffcwu.fsf@fleche.redhat.com> <87txdklqk4.fsf@gnu.org> <87r48kkc9g.fsf@fleche.redhat.com> <87eh4krl81.fsf@gnu.org> <87iotvixu4.fsf@fleche.redhat.com> <87vbxv8kag.fsf@gnu.org> <87sisqv0dm.fsf@fleche.redhat.com> <87zjmomyt3.fsf@netris.org> Date: Wed, 22 Jan 2014 04:36:00 -0000 Message-ID: Subject: Re: [PATCH v2 02/13] script language API for GDB: extension.[ch] From: Doug Evans To: Mark H Weaver Cc: Tom Tromey , =?ISO-8859-1?Q?Ludovic_Court=E8s?= , guile-user@gnu.org, "gdb-patches@sourceware.org" Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg00833.txt.bz2 On Tue, Jan 21, 2014 at 8:21 PM, Mark H Weaver wrote: > Tom Tromey writes: > >>>>>>> "Ludovic" =3D=3D Ludovic Court=E8s writes: >> >> Ludovic> I guess this is another limitation of Guile=92s 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. Righto, and thanks. I'll implement this as a follow-on to the current patch series. It'll be mostly just new code, and the current patch series is big enough.