We don't need recursive mutexes. Interestingly, PTHREAD_MUTEX_NORMAL
and PTHREAD_MUTEX_RECURSIVE from man page pthread_mutexattr_settype
are not defined in header pthread.h by default on my Ubuntu Linux
(possibly others). Some defines may do trigger a definition of it, but
what impact do they have then on other pthread-implementations?
It crashed on FreeBSD - it could be fixed by using PTHREAD_MUTEX_NORMAL
(rather than 0) for pthread_settype (normal mutex).