LibC: Rewrite pthread_mutex using a futex
This commit is contained in:
@@ -26,7 +26,8 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
pthread_mutexattr_t attr;
|
||||
pthread_t locker;
|
||||
uint32_t futex;
|
||||
uint32_t waiters;
|
||||
unsigned lock_depth;
|
||||
} pthread_mutex_t;
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ struct uthread
|
||||
|
||||
#define PTHREAD_SPIN_INITIALIZER (pthread_spinlock_t)0
|
||||
#define PTHREAD_COND_INITIALIZER (pthread_cond_t){ { CLOCK_REALTIME, 0 }, PTHREAD_SPIN_INITIALIZER, NULL }
|
||||
#define PTHREAD_MUTEX_INITIALIZER (pthread_mutex_t){ { PTHREAD_MUTEX_DEFAULT, 0 }, 0, 0 }
|
||||
#define PTHREAD_MUTEX_INITIALIZER (pthread_mutex_t){ { PTHREAD_MUTEX_DEFAULT, 0 }, 0, 0, 0 }
|
||||
#define PTHREAD_RWLOCK_INITIALIZER (pthread_rwlock_t){ { 0 }, 0, 0 }
|
||||
|
||||
#define _PTHREAD_ATFORK_PREPARE 0
|
||||
|
||||
Reference in New Issue
Block a user