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: scm_i_fraction_reduce thread safety Date: Sat, 10 Jan 2004 23:38:54 +0100 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <87k73z1la9.fsf@zagadka.ping.de> References: <3FD85844.3060108@ccrma> <1071170342.1217.60.camel@flare> <87wu91mxhf.fsf@zip.com.au> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1073776937 5506 80.91.224.253 (10 Jan 2004 23:22:17 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 10 Jan 2004 23:22:17 +0000 (UTC) Cc: Bill Schottstaedt , guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Jan 11 00:22:12 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AfSQm-0006lS-00 for ; Sun, 11 Jan 2004 00:22:12 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AfTEO-0005Pu-Sf for guile-devel@m.gmane.org; Sat, 10 Jan 2004 19:13:28 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AfSpU-0007tb-7B for guile-devel@gnu.org; Sat, 10 Jan 2004 18:47:44 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AfSjI-0006xH-8U for guile-devel@gnu.org; Sat, 10 Jan 2004 18:41:51 -0500 Original-Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AfSjH-0006wR-8E for guile-devel@gnu.org; Sat, 10 Jan 2004 18:41:19 -0500 Original-Received: from [195.253.8.218] (helo=mail.dokom.net) by mx20.gnu.org with esmtp (Exim 4.24) id 1AfRlH-0005PE-60 for guile-devel@gnu.org; Sat, 10 Jan 2004 17:39:19 -0500 Original-Received: from dialin.speedway15.dip81.dokom.de ([195.253.15.81] helo=zagadka.ping.de) by mail.dokom.net with smtp (Exim 3.36 #3) id 1AfRlY-0006gW-00 for guile-devel@gnu.org; Sat, 10 Jan 2004 23:39:36 +0100 Original-Received: (qmail 17690 invoked by uid 1000); 10 Jan 2004 22:38:54 -0000 Original-To: Carl Witty In-Reply-To: <87wu91mxhf.fsf@zip.com.au> (Kevin Ryde's message of "Sat, 13 Dec 2003 09:23:40 +1000") User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.2 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 Xref: main.gmane.org gmane.lisp.guile.devel:3185 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:3185 Kevin Ryde writes: > Bill Schottstaedt writes: >> >> I'd vote for a lock, > > I guess everywhere inspecting the parts of a fraction would need to > acquire and release such a lock. Perhaps a macro that did that and > delivered out the parts could stop it being too awful when coding. This is a general problem with the data structures in libguile and we need to solve it generally. I haven't made my mind up about this yet... there is the drastic and easy way: restrict guile threads to be cooperative (then we don't need object-level locks). Or we could allow full concurrency and be pedantic about object-level locks. Allowing full concurrency is very attractive if we can pull it off. It looks like we can, but it will be hard to be convinced that absolutely no race conditions exist in libguile, and that users of libguile wont introduce new ones. > Unfortunately I believe it is, in the new-style free-running > concurrent posix threads. It'll be one of those threading things > that might almost never actually cause a problem, but alas is not > right. Right. I don't have the courage or arguments right now to remove the fully concurrent threads, but I know I would feel happier if we didn't had them... -- 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