From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.lisp.guile.bugs Subject: bug#14404: regexp_exec thread-unsafe Date: Wed, 29 May 2013 17:59:53 -0700 Organization: UCLA Computer Science Department Message-ID: <51A6A489.2060101__45537.3021228754$1369875658$gmane$org@cs.ucla.edu> References: <87ehd9i7fc.fsf@gnu.org> <5199448F.9050608@cs.ucla.edu> <87d2slu413.fsf@gnu.org> <51A288AD.4070405@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1369875652 31051 80.91.229.3 (30 May 2013 01:00:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 30 May 2013 01:00:52 +0000 (UTC) Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , bug-gnulib@gnu.org, 14404@debbugs.gnu.org To: Paolo Bonzini Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Thu May 30 03:00:51 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UhrEY-00025N-Fp for guile-bugs@m.gmane.org; Thu, 30 May 2013 03:00:50 +0200 Original-Received: from localhost ([::1]:39875 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UhrEY-0004BR-5p for guile-bugs@m.gmane.org; Wed, 29 May 2013 21:00:50 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47875) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UhrEP-0004Au-8v for bug-guile@gnu.org; Wed, 29 May 2013 21:00:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UhrEK-0004wx-BO for bug-guile@gnu.org; Wed, 29 May 2013 21:00:41 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UhrEK-0004wt-85 for bug-guile@gnu.org; Wed, 29 May 2013 21:00:36 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UhrFi-00072d-9n for bug-guile@gnu.org; Wed, 29 May 2013 21:02:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 30 May 2013 01:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14404 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 14404-submit@debbugs.gnu.org id=B14404.136987569627028 (code B ref 14404); Thu, 30 May 2013 01:02:02 +0000 Original-Received: (at 14404) by debbugs.gnu.org; 30 May 2013 01:01:36 +0000 Original-Received: from localhost ([127.0.0.1]:41084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UhrFD-00071l-Nx for submit@debbugs.gnu.org; Wed, 29 May 2013 21:01:35 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:45668) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UhrF9-00071E-5p for 14404@debbugs.gnu.org; Wed, 29 May 2013 21:01:28 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id ABDED39E8105; Wed, 29 May 2013 17:59:54 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tiVWTntWhtWY; Wed, 29 May 2013 17:59:53 -0700 (PDT) Original-Received: from [192.168.1.9] (pool-71-108-49-126.lsanca.fios.verizon.net [71.108.49.126]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 60ADE39E8100; Wed, 29 May 2013 17:59:53 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 In-Reply-To: <51A288AD.4070405@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7134 Archived-At: On 05/26/2013 03:11 PM, Paolo Bonzini wrote: > Use the lock module instead. Adding the lock module should work. But this will require some reengineering of Guile, so that Guile uses the lock module rather than its own thread packaging. Another possibility, which might be a bit simpler, would be for Guile to pretend to have the lock module. It could do that by creating a file glthread/lock.h that looks something like this: #include "../libguile/threads.h" #define gl_lock_define(class, name) class scm_i_pthread_mutex_t name; #define glthread_lock_init scm_i_pthread_mutex_init #define glthread_lock_destroy scm_i_pthread_mutex_destroy #define glthread_lock_lock scm_i_pthread_mutex_lock #define glthread_lock_unlock scm_i_pthread_mutex_lock_unlock and by putting AC_DEFINE([GNULIB_LOCK]) into configure.ac.