diff options
author | Doug Evans <xdje42@gmail.com> | 2014-09-08 22:45:34 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-09-08 22:45:34 -0700 |
commit | 92d8d229d9a310ebfcfc13bf4a75a286c1add1ac (patch) | |
tree | b9ce9674fc04930b500d611e033bb5368c9d54a3 /gdb/config.in | |
parent | 837405970476d31d6b4d7774e2c914fdfa7a9930 (diff) | |
download | gdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.zip gdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.tar.gz gdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.tar.bz2 |
Fix for PR 17247: Block SIGCHLD while initializing Guile.
The problem here is that if a thread other than gdb's main thread
gets a SIGCHLD (it's an asynchronous signal so the kernel will
essentially pick a random thread) then gdb will hang if it is
in sigsuspend when the SIGCHLD is delivered. The other thread
will see the signal and the sigsuspend won't "wake up".
Guile and libgc should be blocking SIGCHLD in their threads,
but we need to work with Guile 2.0 and libgc 7.4.
The problem first shows up in libgc 7.4 because it is the first
release that enables multiple marker threads by default.
gdb/ChangeLog:
PR 17247
* guile.c: #include <signal.h>.
(_initialize_guile): Block SIGCHLD while initializing Guile.
Replaces the following, which is reverted.
2014-07-26 Doug Evans <xdje42@gmail.com>
PR 17185
* configure.ac: Add check for header gc/gc.h.
Add check for function setenv.
* configure: Regenerate.
* config.in: Regenerate.
* guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
Diffstat (limited to 'gdb/config.in')
-rw-r--r-- | gdb/config.in | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/gdb/config.in b/gdb/config.in index b853412..f1593bd 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -141,9 +141,6 @@ /* Define if <sys/procfs.h> has fpregset_t. */ #undef HAVE_FPREGSET_T -/* Define to 1 if you have the <gc/gc.h> header file. */ -#undef HAVE_GC_GC_H - /* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID @@ -348,9 +345,6 @@ /* Define to 1 if you have the `scm_new_smob' function. */ #undef HAVE_SCM_NEW_SMOB -/* Define to 1 if you have the `setenv' function. */ -#undef HAVE_SETENV - /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE |