From 3ac0c9b9e73e44c5af5dd111fc7a0679f0caf706 Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Tue, 24 Nov 2020 20:45:28 +0300 Subject: LibPthread: Implement pthread_once() The implementation uses atomics and futexes (yay!) and is heavily based on the implementation I did for my learning project named "Let's write synchronization primitives" [0]. That project, in fact, started when I tried to implement pthread_once() for Serenity (because it was needed for another project of mine, stay tuned ;) ) and was not very sure I got every case right. So now, after learning some more about code patterns around atomics and futexes, I am reasonably sure, and it's time to contribute the implementation of pthread_once() to Serenity :^) [0] To be published at https://github.com/bugaevc/lets-write-sync-primitives --- Libraries/LibC/sys/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Libraries/LibC') diff --git a/Libraries/LibC/sys/types.h b/Libraries/LibC/sys/types.h index feed6d358a..6de6b1feb1 100644 --- a/Libraries/LibC/sys/types.h +++ b/Libraries/LibC/sys/types.h @@ -78,7 +78,7 @@ struct utimbuf { typedef int pthread_t; typedef int pthread_key_t; -typedef void* pthread_once_t; +typedef int32_t pthread_once_t; typedef struct __pthread_mutex_t { uint32_t lock; -- cgit v1.2.3