From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#12446: port better to POSIX hosts lacking _setjmp Date: Sat, 15 Sep 2012 11:28:19 +0300 Message-ID: <83ligbu1uk.fsf@gnu.org> References: <50538925.3010608@cs.ucla.edu> <83txv0tkho.fsf@gnu.org> <5053A177.1020608@cs.ucla.edu> <83sjaju5ca.fsf@gnu.org> <50543339.3090500@cs.ucla.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1347697750 24596 80.91.229.3 (15 Sep 2012 08:29:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Sep 2012 08:29:10 +0000 (UTC) Cc: lekktu@gmail.com, 12446@debbugs.gnu.org To: Paul Eggert Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Sep 15 10:29:13 2012 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 1TCnkS-0001Gt-JZ for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Sep 2012 10:29:08 +0200 Original-Received: from localhost ([::1]:43822 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCnkO-0002r0-If for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Sep 2012 04:29:04 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47939) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCnkL-0002qk-Kf for bug-gnu-emacs@gnu.org; Sat, 15 Sep 2012 04:29:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCnkK-0007yS-HY for bug-gnu-emacs@gnu.org; Sat, 15 Sep 2012 04:29:01 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53406) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCnkK-0007yO-EC for bug-gnu-emacs@gnu.org; Sat, 15 Sep 2012 04:29:00 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TCnlJ-0005fD-Tu for bug-gnu-emacs@gnu.org; Sat, 15 Sep 2012 04:30:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Sep 2012 08:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12446 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 12446-submit@debbugs.gnu.org id=B12446.134769778021720 (code B ref 12446); Sat, 15 Sep 2012 08:30:01 +0000 Original-Received: (at 12446) by debbugs.gnu.org; 15 Sep 2012 08:29:40 +0000 Original-Received: from localhost ([127.0.0.1]:34719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TCnky-0005eH-88 for submit@debbugs.gnu.org; Sat, 15 Sep 2012 04:29:40 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:62034) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TCnkv-0005e9-AO for 12446@debbugs.gnu.org; Sat, 15 Sep 2012 04:29:38 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MAD00L00TJTV500@a-mtaout22.012.net.il> for 12446@debbugs.gnu.org; Sat, 15 Sep 2012 11:28:18 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MAD00LJHU76LP70@a-mtaout22.012.net.il>; Sat, 15 Sep 2012 11:28:18 +0300 (IDT) In-reply-to: <50543339.3090500@cs.ucla.edu> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:64339 Archived-At: > Date: Sat, 15 Sep 2012 00:50:17 -0700 > From: Paul Eggert > CC: 12446@debbugs.gnu.org, lekktu@gmail.com > > On 09/15/2012 12:12 AM, Eli Zaretskii wrote: > > On which platforms does longjmp change the signal > > mask and how, and in what ways can this "mess things up and slow > > things down"? > > For example, under FreeBSD, setjmp saves the signal mask, > and longjmp restores the signal mask to the value that it had > when setjmp was called. See > . > FreeBSD is not alone in this -- it's sort of a BSD tradition -- > but I don't have a list handy of exactly which OSes do it and > which do not. So what was the rationale of turning away from _setjmp, which does the same as sigsetjmp with its second argument zero? > Messups are trickier, because they involve rare race conditions. > They can occur if Emacs or a system call has set the signal mask to X, > but a longjump unexpectedly changes it to Y, where Y is not equal to X. Why is that a messup?