- raw_pthread_create =
- (int (*)(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*))dlsym(RTLD_NEXT, "pthread_create");
- raw_mutex_init = (int (*)(pthread_mutex_t*, const pthread_mutexattr_t*))dlsym(RTLD_NEXT, "pthread_mutex_init");
- raw_mutex_lock = (int (*)(pthread_mutex_t*))dlsym(RTLD_NEXT, "pthread_mutex_lock");
- raw_mutex_trylock = (int (*)(pthread_mutex_t*))dlsym(RTLD_NEXT, "pthread_mutex_trylock");
- raw_mutex_unlock = (int (*)(pthread_mutex_t*))dlsym(RTLD_NEXT, "pthread_mutex_unlock");
- raw_mutex_destroy = (int (*)(pthread_mutex_t*))dlsym(RTLD_NEXT, "pthread_mutex_destroy");
-
- raw_sem_open = (sem_t * (*)(const char*, int)) dlsym(RTLD_NEXT, "sem_open");
- raw_sem_init = (int (*)(sem_t*, int, unsigned int))dlsym(RTLD_NEXT, "sem_init");
- raw_sem_wait = (int (*)(sem_t*))dlsym(RTLD_NEXT, "sem_wait");
- raw_sem_post = (int (*)(sem_t*))dlsym(RTLD_NEXT, "sem_post");
+ raw_pthread_create = dlsym(RTLD_NEXT, "pthread_create");
+ raw_pthread_join = dlsym(RTLD_NEXT, "pthread_join");
+ raw_mutex_init = dlsym(RTLD_NEXT, "pthread_mutex_init");
+ raw_mutex_lock = dlsym(RTLD_NEXT, "pthread_mutex_lock");
+ raw_mutex_trylock = dlsym(RTLD_NEXT, "pthread_mutex_trylock");
+ raw_mutex_unlock = dlsym(RTLD_NEXT, "pthread_mutex_unlock");
+ raw_mutex_destroy = dlsym(RTLD_NEXT, "pthread_mutex_destroy");
+
+ raw_sleep = dlsym(RTLD_NEXT, "sleep");
+ raw_usleep = dlsym(RTLD_NEXT, "usleep");
+ raw_gettimeofday = dlsym(RTLD_NEXT, "gettimeofday");
+
+ raw_sem_open = dlsym(RTLD_NEXT, "sem_open");
+ raw_sem_init = dlsym(RTLD_NEXT, "sem_init");
+ raw_sem_wait = dlsym(RTLD_NEXT, "sem_wait");
+ raw_sem_post = dlsym(RTLD_NEXT, "sem_post");
+ raw_sem_destroy = dlsym(RTLD_NEXT, "sem_destroy");
+ raw_sem_trywait = dlsym(RTLD_NEXT, "sem_trywait");
+ raw_sem_timedwait = dlsym(RTLD_NEXT, "sem_timedwait");