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,gmane.lisp.guile.user Subject: Re: Threads and asyncs Date: 03 Sep 2002 20:06:03 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <87d6rvaqyc.fsf@zagadka.ping.de> References: <87it1oglmq.fsf@zagadka.ping.de> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1031076298 6543 127.0.0.1 (3 Sep 2002 18:04:58 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 3 Sep 2002 18:04:58 +0000 (UTC) Cc: guile-user@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 17mI2q-0001hE-00 for ; Tue, 03 Sep 2002 20:04:56 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17mI4P-0001jX-00; Tue, 03 Sep 2002 14:06:33 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17mI3o-0001ey-00 for guile-devel@gnu.org; Tue, 03 Sep 2002 14:05:56 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17mI3l-0001eL-00 for guile-devel@gnu.org; Tue, 03 Sep 2002 14:05:55 -0400 Original-Received: from dialin.speedway42.dip224.dokom.de ([195.138.42.224] helo=zagadka.ping.de) by monty-python.gnu.org with smtp (Exim 4.10) id 17mI3l-0001e1-00 for guile-devel@gnu.org; Tue, 03 Sep 2002 14:05:53 -0400 Original-Received: (qmail 25751 invoked by uid 1000); 3 Sep 2002 18:06:03 -0000 Original-To: guile-devel@gnu.org In-Reply-To: <87it1oglmq.fsf@zagadka.ping.de> Original-Lines: 22 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:1260 gmane.lisp.guile.user:920 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1260 Marius Vollmer writes: > Also, a thread would wake up when it is blocked and run its asyncs > anyway. I'd like to draw your attention to this. What do you think of it? When a thread blocks to wait for a mutex, say, it will wake up when a async is marked for it and run that async. Then it will go to sleep again (unless it has acquired the mutex). Likewise for condition variables, select and other kind of blocks. Also, I think we need a single mechanism that can block on multiple objects. For that, we should probably extend 'select' to also handle mutixes, condition variables, thread joins, and maybe other things. I have made asyncs per-thread in my working copy and they work fine. I have also added 'current-thread' and 'all-threads' functions, which I think are useful. -- GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel