in reply to Re^2: [Win32] differing threads behaviour
in thread [Win32] differing threads behaviour

I'll see if I can get the mingw-w64 developers to shed some light on what's going awry.

Liu Hao (lh_mouse) has provided the following explanation:
It's because `__emutls_get_address()` returns two distinct values in c +onsecutive calls with the same descriptor in the same thread, so the second reference to the thread l +ocal `__gmpfr_default_fp_bit_precision` (defined in 'set_dfl_prec.c') gets +a fresh object with its default value.
The "second reference" is the mpfr_get_default() call made in foo().
He then followed that up with:
Looks like emutls could not set the thread-specific value for 'foreign + threads' (those not created by mcfgthread). Although this is by design, I do think the MPFR expect +ation should be reasonably supported. I will fix this in a couple of days.
Entire thread is at:
https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/3a656408-a99f-e9c1-e4f0-c4ff8374bb30%40126.com/#msg37802424

Here endeth this soliloquy ;-)

Cheers,
Rob