From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Schwab Newsgroups: gmane.emacs.bugs Subject: bug#17561: Emacs can forget processes Date: Thu, 29 May 2014 19:55:20 +0200 Message-ID: <87a9a04ghj.fsf@igel.home> References: <537F773C.8060202@cs.ucla.edu> <20140523184419.70fe136d@forcix.jorgenschaefer.de> <538124C0.8080107@cs.ucla.edu> <20140525095735.6cfac9af@forcix.jorgenschaefer.de> <53837516.3070508@cs.ucla.edu> <20140526204952.1dba664e@forcix.jorgenschaefer.de> <5383D535.2000407@cs.ucla.edu> <20140527202756.7bade0ce@forcix.jorgenschaefer.de> <538506AB.3090201@cs.ucla.edu> <20140528001641.190b7ada@forcix.jorgenschaefer.de> <5385322D.7030406@cs.ucla.edu> <20140528225346.227e166d@forcix.jorgenschaefer.de> <53866A97.9030404@cs.ucla.edu> <20140529013505.65346321@forcix.jorgenschaefer.de> <5386B4E4.4070100@cs.ucla.edu> <20140529133927.3570a795@forcix.jorgenschaefer.de> <53874D9F.5030107@cs.ucla.edu> <87iooo4njq.fsf@igel.home> <538751A7.1020201@cs.ucla.edu> <20140529190326.177fb39b@forcix.jorgenschaefer.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1401386190 31585 80.91.229.3 (29 May 2014 17:56:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 29 May 2014 17:56:30 +0000 (UTC) Cc: 17561@debbugs.gnu.org, Paul Eggert To: Jorgen Schaefer Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu May 29 19:56:23 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wq4Yt-0002SZ-C6 for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 May 2014 19:56:19 +0200 Original-Received: from localhost ([::1]:49532 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wq4Yt-0006TF-0E for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 May 2014 13:56:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wq4Yk-0006Pc-2P for bug-gnu-emacs@gnu.org; Thu, 29 May 2014 13:56:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wq4Yc-0007Xy-OE for bug-gnu-emacs@gnu.org; Thu, 29 May 2014 13:56:10 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37499) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wq4Yc-0007Xs-Kb for bug-gnu-emacs@gnu.org; Thu, 29 May 2014 13:56:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Wq4Yb-0004FV-VU for bug-gnu-emacs@gnu.org; Thu, 29 May 2014 13:56:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andreas Schwab Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 May 2014 17:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17561 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17561-submit@debbugs.gnu.org id=B17561.140138612816271 (code B ref 17561); Thu, 29 May 2014 17:56:01 +0000 Original-Received: (at 17561) by debbugs.gnu.org; 29 May 2014 17:55:28 +0000 Original-Received: from localhost ([127.0.0.1]:36376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wq4Y4-0004EK-3z for submit@debbugs.gnu.org; Thu, 29 May 2014 13:55:28 -0400 Original-Received: from mail-out.m-online.net ([212.18.0.9]:49798) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wq4Y0-0004EA-GF for 17561@debbugs.gnu.org; Thu, 29 May 2014 13:55:26 -0400 Original-Received: from frontend1.mail.m-online.net (frontend1.mail.intern.m-online.net [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3gfc570tqRz3hhf3; Thu, 29 May 2014 19:55:22 +0200 (CEST) Original-Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 3gfc563FwZzbbfs; Thu, 29 May 2014 19:55:22 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Original-Received: from mail.mnet-online.de ([192.168.8.180]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavisd-new, port 10024) with ESMTP id QXQ5UQ5M6YWB; Thu, 29 May 2014 19:55:20 +0200 (CEST) X-Auth-Info: cJAl/hY0+61+0japnwxaGBI/rAW1R1DpBmzKKrTzhnY= Original-Received: from igel.home (host-188-174-218-216.customer.m-online.net [188.174.218.216]) by mail.mnet-online.de (Postfix) with ESMTPA; Thu, 29 May 2014 19:55:20 +0200 (CEST) Original-Received: by igel.home (Postfix, from userid 1000) id 1FF762C1BDA; Thu, 29 May 2014 19:55:20 +0200 (CEST) X-Yow: I'm young.. I'm HEALTHY.. I can HIKE THRU CAPT GROGAN'S LUMBAR REGIONS! In-Reply-To: <20140529190326.177fb39b@forcix.jorgenschaefer.de> (Jorgen Schaefer's message of "Thu, 29 May 2014 19:03:26 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.91 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:89711 Archived-At: Jorgen Schaefer writes: > It works. A bit later: > > rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM PROF], 8) = 0 > rt_sigprocmask(SIG_SETMASK, [QUIT ALRM PROF], NULL, 8) = 0 > > That's fine, CHLD is not masked. A while later, then, this: > > --- SIGIO (I/O possible) @ 0 (0) --- > rt_sigreturn(0x1d) = 11684722 > ioctl(3, FIONREAD, [0]) = 0 > rt_sigprocmask(SIG_BLOCK, [CHLD], [QUIT ALRM CHLD PROF], 8) = 0 So the damage happend somewhere between these blocks. Please try this patch to better see when CHLD became blocked: diff --git a/src/sysdep.c b/src/sysdep.c index e5b2920..35c2856 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -618,6 +618,7 @@ request_sigio (void) { #ifdef USABLE_SIGIO sigset_t unblocked; + sigset_t oldmask; if (noninteractive) return; @@ -627,7 +628,7 @@ request_sigio (void) sigaddset (&unblocked, SIGWINCH); # endif sigaddset (&unblocked, SIGIO); - pthread_sigmask (SIG_UNBLOCK, &unblocked, 0); + pthread_sigmask (SIG_UNBLOCK, &unblocked, &oldmask); interrupts_deferred = 0; #endif @@ -638,6 +639,7 @@ unrequest_sigio (void) { #ifdef USABLE_SIGIO sigset_t blocked; + sigset_t oldmask; if (noninteractive) return; @@ -647,7 +649,7 @@ unrequest_sigio (void) sigaddset (&blocked, SIGWINCH); # endif sigaddset (&blocked, SIGIO); - pthread_sigmask (SIG_BLOCK, &blocked, 0); + pthread_sigmask (SIG_BLOCK, &blocked, &oldmask); interrupts_deferred = 1; #endif } Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."