9
int (*real_create)(pthread_t *, pthread_attr_t const *, void *(*)(void *), void *);
11
int (*real_mutex_init)(pthread_mutex_t *, pthread_mutexattr_t const *);
12
int (*real_mutex_destroy)(pthread_mutex_t *);
13
int (*real_mutex_lock)(pthread_mutex_t *);
14
int (*real_mutex_unlock)(pthread_mutex_t *);
16
int (*real_cond_init)(pthread_cond_t *, pthread_condattr_t const *);
17
int (*real_cond_wait)(pthread_cond_t *, pthread_mutex_t *);
18
int (*real_cond_signal)(pthread_cond_t *);
20
void init(void) __attribute__((constructor));
24
real_create = dlsym(RTLD_NEXT, "pthread_create");
25
real_mutex_init = dlsym(RTLD_NEXT, "pthread_mutex_init");
26
real_mutex_destroy = dlsym(RTLD_NEXT, "pthread_mutex_destroy");
27
real_mutex_lock = dlsym(RTLD_NEXT, "pthread_mutex_lock");
28
real_mutex_unlock = dlsym(RTLD_NEXT, "pthread_mutex_unlock");
29
real_cond_init = dlsym(RTLD_NEXT, "pthread_cond_init");
30
real_cond_wait = dlsym(RTLD_NEXT, "pthread_cond_wait");
31
real_cond_signal = dlsym(RTLD_NEXT, "pthread_cond_signal");