[RFC] Block all async signals used by gdb when initializing Guile

Eli Zaretskii eliz@gnu.org
Sun Aug 30 02:35:00 GMT 2015


> Date: Sat, 29 Aug 2015 13:39:55 -0700
> From: Doug Evans <xdje42@gmail.com>
> Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>, guile-devel <guile-devel@gnu.org>
> 
> On Sat, Aug 29, 2015 at 1:16 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> >> Date: Sat, 29 Aug 2015 12:20:24 -0700
> >> From: Doug Evans <xdje42@gmail.com>
> >> Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>, guile-devel <guile-devel@gnu.org>
> >>
> >> > What about platforms that don't have sigprocmask, but do have SIGINT?
> >> > Don't we want to block SIGINT on those platforms?
> >>
> >> Do they have threads
> >
> > They might.  (The only way I've succeeded to have a working Guile on
> > Windows was to disable threads, but I hope that bug will be fixed one
> > day.)
> >
> >> and how does one block SIGINT on those platforms?
> >
> > With a call to 'signal', I guess.
> 
> I'm guessing that won't work here, we'll need something else.

I don't understand why.  Can you explain?  Maybe I'm missing
something.

> The issue is we need the threads that guile starts
> to have these signals blocked. Then after guile init
> returns we unblock the signals.

Inhibit SIGINT ech time before calling Guile and restore it after
Guile returns.  Wouldn't that do what you want?



More information about the Gdb-patches mailing list