mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 19:17:44 +00:00
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
This commit is contained in:
parent
f6f0d3cbae
commit
3ac0c9b9e7
4 changed files with 110 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue