libc/pthread: Avoid compiler optimizations for once_control->done

Prevent compiler reordering that may read stale value of once_control->done.
Use volatile to ensure visibility across threads and prevent incorrect once initialization.

Signed-off-by: yukangzhi <yukangzhi@xiaomi.com>
This commit is contained in:
yukangzhi
2025-01-21 19:14:48 +08:00
committed by Donny(董九柱)
parent f766dc6c08
commit dd307ab82c
+1 -1
View File
@@ -402,7 +402,7 @@ typedef struct pthread_barrier_s pthread_barrier_t;
struct pthread_once_s
{
bool done;
volatile bool done;
pthread_mutex_t mutex;
};