From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.devel Subject: Re: Warning: Unstable POSIX threads support comitted to CVS Date: 09 Dec 2002 15:26:03 +0100 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1039444016 28585 80.91.224.249 (9 Dec 2002 14:26:56 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 9 Dec 2002 14:26:56 +0000 (UTC) Cc: guile-devel@gnu.org Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18LOs0-0007QX-01 for ; Mon, 09 Dec 2002 15:26:52 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18LOrf-0005uI-03 for guile-devel@m.gmane.org; Mon, 09 Dec 2002 09:26:31 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18LOrO-0005u8-00 for guile-devel@gnu.org; Mon, 09 Dec 2002 09:26:14 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18LOrL-0005tR-00 for guile-devel@gnu.org; Mon, 09 Dec 2002 09:26:13 -0500 Original-Received: from krusty.dt.e-technik.uni-dortmund.de ([129.217.163.1] helo=mail.dt.e-technik.uni-dortmund.de) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18LOrL-0005sb-00 for guile-devel@gnu.org; Mon, 09 Dec 2002 09:26:11 -0500 Original-Received: from burns.dt.e-technik.uni-dortmund.de (burns.dt.e-technik.uni-dortmund.de [129.217.163.19]) by mail.dt.e-technik.uni-dortmund.de (Postfix) with ESMTP id 2E763A3841; Mon, 9 Dec 2002 15:26:06 +0100 (CET) Original-Received: by burns.dt.e-technik.uni-dortmund.de (Postfix, from userid 520) id EBD8BC5E3; Mon, 9 Dec 2002 15:26:04 +0100 (CET) Original-To: Mikael Djurfeldt In-Reply-To: Original-Lines: 24 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:1808 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1808 Mikael Djurfeldt writes: > It is very irritating that signals are delivered to whatever thread > happens to run for the moment. Do you refer to the execution of POSIX signal handlers or to the execution of Scheme signal handlers? Scheme handlers are registered for a particular thread and will always execute in that thread. If you don't specify a thread, as in (sigaction SIGINT handler), the handler is registered for the calling thread. POSIX specifies that a POSIX signal is delivered to a random thread that has not blocked that signal. On Linux, a thread is really a process with its own PID and since signals are delivered to a specific PID, they are in effect delivered to specific threads (or process groups -> thread groups). For example, a SIGINT handler is executed in all threads of a process since the whole process group is signalled by the terminal driver. That is, signals-plus-threads are quite nasty on Linux. I think we should have a dedicated signal handling thread that polls for signals and marks the relevant system asyncs when they arrive. (More later.) _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel