[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