From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: thread safe functions Date: Mon, 23 May 2011 22:38:36 +0200 Message-ID: References: <20100805112743.GA1671@securactive.net> <8C8EEFE6-77CA-42E7-A2FB-9CEF4E83CDFF@raeburn.org> <5105E811-5A0E-4D7B-9A4A-D3DABB12406F@raeburn.org> <293BAADA-EF04-4983-A628-1355BDF964ED@raeburn.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1306183131 2732 80.91.229.12 (23 May 2011 20:38:51 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 23 May 2011 20:38:51 +0000 (UTC) Cc: guile-devel Development To: Ken Raeburn Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon May 23 22:38:47 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QObtn-0003Js-3Q for guile-devel@m.gmane.org; Mon, 23 May 2011 22:38:47 +0200 Original-Received: from localhost ([::1]:55090 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QObtm-0004I3-Lk for guile-devel@m.gmane.org; Mon, 23 May 2011 16:38:46 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:41547) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QObtj-0004Dx-T1 for guile-devel@gnu.org; Mon, 23 May 2011 16:38:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QObti-0001ZD-SU for guile-devel@gnu.org; Mon, 23 May 2011 16:38:43 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([64.74.157.62]:37627 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QObti-0001Z7-Q6 for guile-devel@gnu.org; Mon, 23 May 2011 16:38:42 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7F7B1575B; Mon, 23 May 2011 16:40:50 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=gvZeQhKidLbr/j+AGW7SrEjR7PE=; b=McKIzZ 6IJZZhmIyOT/pW/poaa+ZX7obprAnCpQ404g1jwbAFVGSYyrpcrRKWv4LhoFCqUL kVmryiSDsfwlph7slzkC/y9toavoKW4iyRUWpN8Mml08/LpYzma6FkL4bwziXF7E 0g5CF2nQMJyptX//KE+QCLsJ4hUyMKzsv7GtM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=dJSGy16rIC+qjL6sRBu5WySvnSrAQV/Z 4J6R+KOyrirYtBTd9z9xP2vOgHNruMWerkBvMy21KOzLdZFQYjLPrNCD8yrhe5hw ZK3so1ToktFb/JlAREFlBnScad72Pn4eXx8YV0puRfq/7IYVVLABsqTGyWWUTK6Q g87zldnKZGs= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 6CAF25759; Mon, 23 May 2011 16:40:49 -0400 (EDT) Original-Received: from unquote.localdomain (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id CD0EF5757; Mon, 23 May 2011 16:40:47 -0400 (EDT) In-Reply-To: <293BAADA-EF04-4983-A628-1355BDF964ED@raeburn.org> (Ken Raeburn's message of "Tue, 15 Feb 2011 12:18:50 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-Pobox-Relay-ID: F1674744-857C-11E0-B188-D6B6226F3D4C-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 64.74.157.62 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:12526 Archived-At: On Tue 15 Feb 2011 18:18, Ken Raeburn writes: > On Feb 10, 2011, at 17:19, Andy Wingo wrote: >>> procproc.c: There's a mutex to protect overrides, but it looks like >>> set-procedure-property! doesn't use it correctly; it should look more >>> like set-object-property! does. >> >> I'm going to punt on this one, since it cannot access the hash table > in >> an inconsistent state, and I don't care enough about what happens when >> multiple threads start changing the same procedure property (a fairly >> legacy interface) at once. Furthermore there is always (assq-set! >> (procedure-properties foo) 'bar) to contend with... > > It doesn't need to be the same property; I think different threads > setting different new properties on a procedure in parallel may lose. Indeed. Fixed. Andy -- http://wingolog.org/