yea, Like the pthread_create only accepts a pointer to a function and not the function itself, why is that?
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*func)(void*), void *arg);
why not:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void(func)(void*), void *arg);