Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-02 Thread Bruno Haible
Reuben Thomas asked: > I'm interested in why you suspect MSYS would be worse than mingw? Is it > because it is not as widely used as mingw That is one factor. The other one is that they welcome changes that are buggy in the long run, such as - in MSYS1, the argv[] processing in the middle of the

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-02 Thread Reuben Thomas
On Mon, 2 May 2022 at 01:05, Bruno Haible wrote: > > We have documented hundreds of deficiencies of mingw [1] w.r.t. the POSIX > standard. MSYS is surely worse, not better, than mingw. I recommend to use > the respective modules, for those POSIX APIs that you use. > I'm happy to decide that on a

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-01 Thread Bruno Haible
Reuben Thomas wrote: > > In the end I tried something a bit different, which was to reduce the > > > number of gnulib modules I was using, as for the code I'm writing it > > > seemed > > > reasonable to assume C99 and POSIX.1-2008. > > > > ?? That makes no sense to me. Either you want to assume PO

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-01 Thread Reuben Thomas
On Sun, 1 May 2022 at 22:34, Bruno Haible wrote: > Reuben Thomas wrote: > > It's not really that I'm doing anything: gnulib seems to detect MSYS as > > being a POSIX platform. > > Not really; something in the configure step (which you haven't shown) > made it "detect" some POSIX threads facility.

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-01 Thread Bruno Haible
Reuben Thomas wrote: > It's not really that I'm doing anything: gnulib seems to detect MSYS as > being a POSIX platform. Not really; something in the configure step (which you haven't shown) made it "detect" some POSIX threads facility. > In the end I tried something a bit different, which was to

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-05-01 Thread Reuben Thomas
On Sat, 30 Apr 2022 at 12:44, Bruno Haible wrote: > Reuben Thomas wrote: > > on MSYS it goes wrong > > ... > > setlocale_null_with_lock (category=category@entry=0, buf=buf@entry > =0xbd80 > > "", bufsize=bufsize@entry=3221) at setlocale_null.c:228 > > 228 if (pthread_in_use()) > > (gdb)

Re: setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-04-30 Thread Bruno Haible
Reuben Thomas wrote: > on MSYS it goes wrong > ... > setlocale_null_with_lock (category=category@entry=0, buf=buf@entry=0xbd80 > "", bufsize=bufsize@entry=3221) at setlocale_null.c:228 > 228 if (pthread_in_use()) > (gdb) > 230 pthread_mutex_t *lock = gl_get_setlocale_null_lock (

setlocale with NULL locale (to read current locale) segfaults on MSYS

2022-04-29 Thread Reuben Thomas
It works fine on mingw32 and mingw64, but on MSYS it goes wrong when calling pthread_mutex_lock. In the following gdb session, the first line is from my code; the rest is tracing through gnulib code. (gdb) n 171 char *old_locale = setlocale(LC_ALL, NULL); (gdb) s rpl_setlocale (category=0,