[m-rev.] For review: Workaround Linux NTPL TSX bug (Mercury Bug: 334)

Paul Bone paul at bone.id.au
Tue Jul 1 17:31:59 AEST 2014


On Tue, Jul 01, 2014 at 05:24:16PM +1000, Julien Fischer wrote:
> On Tue, 1 Jul 2014, Julien Fischer wrote:
>
>
> In particular, you probably want to restrict your workaround to Linux,
> as in the following patch.  (I don't think GC_PTHREADS means what you
> think it means.)

What does it mean?

Provided that the macro used here is the same as the one used in
pthread_support.c and pthread_support.h I don't see the problem.


> diff --git a/boehm_gc/misc.c b/boehm_gc/misc.c
> index 1b65243..86457b4 100644
> --- a/boehm_gc/misc.c
> +++ b/boehm_gc/misc.c
> @@ -744,9 +744,9 @@ GC_API void GC_CALL GC_init(void)
>          /* else */ InitializeCriticalSection (&GC_allocate_ml);
>       }
>  #   endif /* GC_WIN32_THREADS */
> -#   if (defined(GC_PTHREADS) && !defined(GC_WIN32_THREADS))
> +#   if (defined(GC_LINUX_THREADS))
>       GC_setup_mark_lock();
> -#   endif /* GC_PTHREADS */
> +#   endif /* GC_LINUX_THREADS */
>  #   if (defined(MSWIN32) || defined(MSWINCE)) && defined(THREADS)
>        InitializeCriticalSection(&GC_write_cs);
>  #   endif
>
> Cheers,
> Julien.


-- 
Paul Bone



More information about the reviews mailing list