id summary reporter owner description type status milestone component version severity resolution keywords cc 11035 BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE not defined for Android kervala@… viboes "I'm using boost::recursive_mutex under Android and I noticed they don't work as expected, they are working like standard mutex. After further investigation, I noticed BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE and BOOST_PTHREAD_HAS_TIMEDLOCK were not defined for Android because Android NDK don't declare _POSIX_TIMEOUTS neither _XOPEN_SOURCE that are checked in boost. So boost::recursive_mutex are not recursive at all under Android :( Also pthread_mutex_timedlock signature changed since Android 5.0 (API 21), the version with the const struct is used from API 21 while previous versions were using the same without the const. from API 3 to 20: int pthread_mutex_timedlock(pthread_mutex_t *mutex, struct timespec* ts); from API 21: int pthread_mutex_timedlock(pthread_mutex_t*, const struct timespec*) __nonnull((1, 2)); I have some patches to fix these issues :) " Bugs closed Boost 1.58.0 thread Boost 1.57.0 Problem fixed android recursive_mutex