#include #include #include int main(void) { int ret; pthread_mutexattr_t attr; pthread_mutex_t mutex; #ifdef __CYGWIN__ pthread_mutex_t mutexstatic = PTHREAD_NORMAL_MUTEX_INITIALIZER_NP; #else pthread_mutex_t mutexstatic = PTHREAD_MUTEX_INITIALIZER; #endif pthread_mutexattr_init(&attr); { int type; printf ("PTHREAD_MUTEX_NORMAL = %d\n", PTHREAD_MUTEX_NORMAL); printf ("PTHREAD_MUTEX_ERRORCHECK = %d\n", PTHREAD_MUTEX_ERRORCHECK); printf ("PTHREAD_MUTEX_DEFAULT = %d\n", PTHREAD_MUTEX_DEFAULT); pthread_mutexattr_gettype (&attr, &type); printf ("pthread_mutexattr_init(NULL) type is: %d\n", type); } pthread_mutex_init(&mutex, &attr); pthread_mutexattr_destroy(&attr); if ((ret = pthread_mutex_unlock(&mutex))) error(0, ret, "pthread_mutex_unlock(mutex)"); // pthread_mutex_init(&mutexstatic, NULL); if ((ret = pthread_mutex_unlock(&mutexstatic))) error(0, ret, "pthread_mutex_unlock(mutexstatic)"); return 0; }