Re: regexp_exec thread-unsafe

2013-05-30 Thread Paolo Bonzini
Il 30/05/2013 02:59, Paul Eggert ha scritto: > 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. Anot

Re: regexp_exec thread-unsafe

2013-05-29 Thread Paul Eggert
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

Re: regexp_exec thread-unsafe

2013-05-26 Thread Paolo Bonzini
Il 20/05/2013 16:20, Ludovic Courtès ha scritto: > Paul Eggert skribis: > >> On 05/14/2013 02:21 PM, Ludovic Courtès wrote: >> >>> How should that be fixed? Shouldn’t __libc_lock_unlock & co. be rebased >>> on top of pthread_mutex_t? >> >> Yes, thanks, that sounds right. I pushed the following

Re: regexp_exec thread-unsafe

2013-05-20 Thread Ludovic Courtès
Paul Eggert skribis: > On 05/14/2013 02:21 PM, Ludovic Courtès wrote: > >> How should that be fixed? Shouldn’t __libc_lock_unlock & co. be rebased >> on top of pthread_mutex_t? > > Yes, thanks, that sounds right. I pushed the following patch into gnulib; > could you please see whether it fixes

Re: regexp_exec thread-unsafe

2013-05-19 Thread Paul Eggert
On 05/14/2013 02:21 PM, Ludovic Courtès wrote: > How should that be fixed? Shouldn’t __libc_lock_unlock & co. be rebased > on top of pthread_mutex_t? Yes, thanks, that sounds right. I pushed the following patch into gnulib; could you please see whether it fixes the problem for you? It'd be hel

regexp_exec thread-unsafe

2013-05-14 Thread Ludovic Courtès
Hello, Guile imports Gnulib ‘regexp’ module, and for some reason it gets compiled even on glibc systems. The problem is that Gnulib’s ‘regex_internal.h’ reads this: #if defined _LIBC # include #else # define __libc_lock_init(NAME) do { } while (0) # define __libc_lock_lock(NAME) do {