pthread_mutex_t mymutex=PTHREAD_MUTEX_INITIALIZER;
이런 식으로 mutex 를 초기화 하는것은 상관없는 데,
mymutex=PTHREAD_MUTEX_INITIALIZER;
다시 초기화를 하기 위해서 위와 같이 하면 parse error 를 내어 버리네요.
찾아보니, /usr/include/pthread.h 에서 아래와 같이 정의되어 있더군요.
#define PTHREAD_MUTEX_INITIALIZER \
{0, 0, 0, PTHREAD_MUTEX_TIMED_NP, __LOCK_INITIALIZER}
한번 선언된 mutex 를 PTHREAD_MUTEX_INITIALIZER 를 이용해서 초기화 할 수 없