From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29225 invoked by alias); 10 Sep 2014 05:15:53 -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 29216 invoked by uid 89); 10 Sep 2014 05:15:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 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-pa0-f47.google.com Received: from mail-pa0-f47.google.com (HELO mail-pa0-f47.google.com) (209.85.220.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Wed, 10 Sep 2014 05:15:51 +0000 Received: by mail-pa0-f47.google.com with SMTP id ey11so8626376pad.20 for ; Tue, 09 Sep 2014 22:15:50 -0700 (PDT) X-Received: by 10.70.3.194 with SMTP id e2mr914886pde.161.1410326150012; Tue, 09 Sep 2014 22:15:50 -0700 (PDT) Received: from seba.sebabeach.org.gmail.com (173-13-178-50-sfba.hfc.comcastbusiness.net. [173.13.178.50]) by mx.google.com with ESMTPSA id p1sm13330045pdr.15.2014.09.09.22.15.48 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Sep 2014 22:15:49 -0700 (PDT) From: Doug Evans To: gdb-patches@sourceware.org Subject: Re: [PATCH][PR guile/17247] Block SIGCHLD while initializing Guile References: Date: Wed, 10 Sep 2014 05:15:00 -0000 In-Reply-To: (Doug Evans's message of "Mon, 08 Sep 2014 22:54:01 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2014-09/txt/msg00257.txt.bz2 Doug Evans writes: > Doug Evans writes: >> Hi. >> >> This patch fixes PR 17247. >> >> Basically, current Guile (git) starts an internal thread >> (the "finalizer" thread), and libgc as of 7.4 now starts several >> marker threads by default (before 7.4.0 one needed to configure >> libgc with --enable-parallel-mark). >> >> When other threads are running, and they haven't blocked SIGCHLD, >> then the kernel may send SIGCHLD to these threads, leaving gdb >> hung in the sigsuspend calls in linux-nat.c. >> >> P.S. I have a tentative patch for PR 17314, which also fixes 17247, >> but for a bit of robustness I'm applying both. >> >> 2014-08-31 Doug Evans >> >> PR 17247 >> * guile.c: #include . >> (_initialize_guile): Block SIGCHLD while initializing Guile. >> >> Replaces the following, which is reverted. >> >> 2014-07-26 Doug Evans >> >> 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. > > Hi. > I have checked in this slight variation to trunk, > and will commit it to the 7.8 branch tomorrow. > > [...] > gdb/ChangeLog: > > PR 17247 > * guile.c: #include . > (_initialize_guile): Block SIGCHLD while initializing Guile. > > Replaces the following, which is reverted. > > 2014-07-26 Doug Evans > > 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. Pushed to 7.8 branch as well.