pthread_mutex_t pthread_user_data_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
int pthread_user_data_lock() {
pthread_mutex_t pthread_user_data_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
int pthread_user_data_lock() {
return pthread_mutex_lock(&pthread_user_data_mutex);
}
int pthread_user_data_unlock() {
pthread_mutex_unlock(&pthread_user_data_mutex);
return pthread_mutex_lock(&pthread_user_data_mutex);
}
int pthread_user_data_unlock() {
pthread_mutex_unlock(&pthread_user_data_mutex);
if(pthread_equal(pthread_user_data[i].tid, PTHREAD_XNULL)) {
pthread_user_data[i+1].tid = PTHREAD_XNULL;
pthread_user_data[i].tid = thread;
if(pthread_equal(pthread_user_data[i].tid, PTHREAD_XNULL)) {
pthread_user_data[i+1].tid = PTHREAD_XNULL;
pthread_user_data[i].tid = thread;