From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: 02/04: monads, gexp: Prevent redefinition of syntax parameters. Date: Thu, 07 Feb 2019 08:50:13 +0100 Message-ID: <877eecf362.fsf@elephly.net> References: <20190206220624.13890.97627@vcs0.savannah.gnu.org> <20190206220625.8BB03209A7@vcs0.savannah.gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:39816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grego-0008WA-Mt for guix-devel@gnu.org; Thu, 07 Feb 2019 03:05:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gregj-00062O-Cv for guix-devel@gnu.org; Thu, 07 Feb 2019 03:05:39 -0500 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21053) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gregh-00060Q-JX for guix-devel@gnu.org; Thu, 07 Feb 2019 03:05:36 -0500 In-reply-to: <20190206220625.8BB03209A7@vcs0.savannah.gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org guix-commits@gnu.org writes: > civodul pushed a commit to branch master > in repository guix. > > commit 8245bb74fc7bdcdc2f9d458057cefc9cd982e489 > Author: Ludovic Court=C3=A8s > Date: Wed Feb 6 21:58:43 2019 +0100 > > monads, gexp: Prevent redefinition of syntax parameters. > > Fixes . > > This fixes multi-threaded compilation of this code where syntax > parameters could end up being redefined and where a race condition co= uld > lead a thread to see the "wrong" value of the syntax parameter. > > * guix/monads.scm (define-syntax-parameter-once): New macro. > (>>=3D, return): Use it. > * guix/gexp.scm (define-syntax-parameter-once): New macro. > (current-imported-modules, current-imported-extensions): Use it. Oh yeah! Thank you so much for squashing this bug (and all of those it was merged with)! -- Ricardo