From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Signal delivery Date: Wed, 19 Feb 2014 00:06:15 +0100 Message-ID: <87k3cs58d4.fsf@gnu.org> References: <834n3x8o7m.fsf@gnu.org> <83y519788a.fsf@gnu.org> <871tz0d5vc.fsf@gnu.org> <87ob2471wz.fsf_-_@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1392764797 13382 80.91.229.3 (18 Feb 2014 23:06:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 18 Feb 2014 23:06:37 +0000 (UTC) Cc: guile-devel@gnu.org To: Doug Evans Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Feb 19 00:06:45 2014 Return-path: Envelope-to: guile-devel@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 1WFtkN-0002SK-Ok for guile-devel@m.gmane.org; Wed, 19 Feb 2014 00:06:40 +0100 Original-Received: from localhost ([::1]:54944 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WFtkM-00046t-Ta for guile-devel@m.gmane.org; Tue, 18 Feb 2014 18:06:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51364) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WFtkC-00046L-Fz for guile-devel@gnu.org; Tue, 18 Feb 2014 18:06:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WFtk2-0007OP-W3 for guile-devel@gnu.org; Tue, 18 Feb 2014 18:06:28 -0500 Original-Received: from hera.aquilenet.fr ([2a01:474::1]:53447) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WFtk2-0007O6-QC for guile-devel@gnu.org; Tue, 18 Feb 2014 18:06:18 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 9144E1D0F; Wed, 19 Feb 2014 00:06:17 +0100 (CET) Original-Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dwJnRJZwheH3; Wed, 19 Feb 2014 00:06:17 +0100 (CET) Original-Received: from pluto (LDijon-156-64-49-137.w217-128.abo.wanadoo.fr [217.128.51.137]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 1D9341D04; Wed, 19 Feb 2014 00:06:16 +0100 (CET) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 1 =?utf-8?Q?Vent=C3=B4se?= an 222 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: (Doug Evans's message of "Tue, 18 Feb 2014 09:56:49 -0800") User-Agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a01:474::1 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:16891 Archived-At: Doug Evans skribis: > I see (at least) two high level problems. > > 1) Some apps need ability to use their own signal handlers. You mean the =E2=80=9Creal=E2=80=9D signal handler, right? > 2) Remove need for a separate thread. > > I'm not addressing (2) in this patch, though I am allowing for the day > when the signal delivery thread is gone (the API needn't change). > > I'm addressing (1) by exporting two things: > a) ability to record a signal with Guile in an async-safe way (for the > present implementation that means basically by exporting the > pipe-writing part of take_signal). > b) ability to specify in advance which function to call and on which > thread to process the signal, basically by exporting install_handler. Sounds like a plan. I wonder if this might expose too much, but we=E2=80= =99ll see with the patch. :-) Thanks for looking into this! Ludo=E2=80=99.