Re: windows-once: Free allocated resources when done

2024-05-31 Thread Bruno Haible
Yesterday I did: > * lib/windows-once.h (glwthread_once_t): Add field 'num_threads'. > (GLWTHREAD_ONCE_INIT): Initialize it to zero. > * lib/windows-once.c (glwthread_once): Increment num_threads while the > thread uses the lock. Let the last thread that uses the lock destro

Re: pthread-once: Work around Cygwin 3.5.3 bug

2024-05-31 Thread Bruno Haible
On 2024-05-28 I did: > * lib/pthread-once.c (pthread_once): Add an implementation for Cygwin. Unfortunately this implementation had a race condition. All of the three programs test-call_once2 test-lock test-pthread-once2 fail with a probability between ca. 10% and 20%. Among 50 consecu

Re: [PATCH] attribute: const/pure defaults to unsequenced/reproducible

2024-05-31 Thread Bruno Haible
Basil L. Contovounesios wrote: > Isn't this saying that C23 [[reproducible]] is stricter than GCC pure? > https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm#some-differences-with-gcc-const-and-pure Yes: [1], section "Note on GCC attributes", also claims that "pure is more relaxed than [[re

Re: [PATCH] attribute: const/pure defaults to unsequenced/reproducible

2024-05-31 Thread Basil L. Contovounesios
Paul Eggert [2024-05-28 08:37 -0700] wrote: > + can depend on observable state. It is stricter than > + _GL_ATTRIBUTE_REPRODUCIBLE because the function must return exactly > + once and cannot affect state addressed by its arguments.) */ > /* Applies to: functions. */ > #ifndef _GL_ATTRI