From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp and Guile Date: 08 Aug 2002 18:06:18 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: References: <200207200035.g6K0ZAb27891@aztec.santafe.edu> <200207212015.g6LKF4c00874@aztec.santafe.edu> <200207251807.g6PI75d07615@aztec.santafe.edu> <874renlito.fsf@zagadka.ping.de> <200207271853.g6RIre710837@aztec.santafe.edu> <200207310554.g6V5ssc16508@aztec.santafe.edu> <200208021743.g72HhkX01596@aztec.santafe.edu> <200208071424.g77EO1103149@wijiji.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1028822847 25898 127.0.0.1 (8 Aug 2002 16:07:27 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 8 Aug 2002 16:07:27 +0000 (UTC) Cc: neil@ossau.uklinux.net, raeburn@raeburn.org, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17cpos-0006jb-00 for ; Thu, 08 Aug 2002 18:07:26 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17cqB1-00021F-00 for ; Thu, 08 Aug 2002 18:30:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17cppV-0006Uz-00; Thu, 08 Aug 2002 12:08:05 -0400 Original-Received: from krusty.dt.e-technik.uni-dortmund.de ([129.217.163.1] helo=mail.dt.e-technik.uni-dortmund.de) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17cpoh-0006T5-00; Thu, 08 Aug 2002 12:07:15 -0400 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 57846A3831; Thu, 8 Aug 2002 18:07:14 +0200 (CEST) Original-Received: by burns.dt.e-technik.uni-dortmund.de (Postfix, from userid 520) id 5893725F13; Thu, 8 Aug 2002 18:06:19 +0200 (CEST) Original-To: rms@gnu.org In-Reply-To: <200208071424.g77EO1103149@wijiji.santafe.edu> Original-Lines: 12 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6366 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6366 Richard Stallman writes: > In fact, it would simplify matters greatly if Emacs can specify where > a thread switch may occur. Is that implemented in Guile? Yes. We only support cooperative threads right now and thread switches can only occur during calls to some specific functions like 'yield', 'lock-mutex', ' wait-condition-variable', etc. You also need to call SCM_TICK occasionally in long runnning computations to allow other threads to run. However, there is no way to prevent 'yield' or SCM_TICK from switching during critical sections. You have to use mutex for this.