On 06/02/16 10:15 PM, Howard Chu wrote:
I've pushed a tweaked version of Hallvard's patch. While the Studio compiler defines __SunOS_5_10 it appears that gcc doesn't, so we took a different detection route.
Perfect and the detection clearly works. Thanks for reviewing this ITS.
--- pthread.h S11 --- /* * Mutex robust attribute values. * Keep these in synch with sys/synch.h lock types. */ #define PTHREAD_MUTEX_STALLED 0x0 #define PTHREAD_MUTEX_ROBUST 0x40 /* * Historical solaris-specific names, * from before pthread_mutexattr_getrobust() became standardized */ #define PTHREAD_MUTEX_STALL_NP PTHREAD_MUTEX_STALLED #define PTHREAD_MUTEX_ROBUST_NP PTHREAD_MUTEX_ROBUST ---------------------
uname -r
5.11
nm liblmdb.so |grep setrobust
[161] | 0| 0|FUNC |GLOB |0 |UNDEF |pthread_mutexattr_setrobust
--- pthread.h S10 --- /* * Mutex robustness attribute values. The robustness attribute is a * Solaris specific extension to support robust mutexes. Note the _NP suffix * to indicate these are not part of the current POSIX spec (POSIX 1003.1 1996), * but are platform specific non-portable extensions. Keep these in synch * with sys/synch.h lock types. */ #define PTHREAD_MUTEX_STALL_NP 0x0 #define PTHREAD_MUTEX_ROBUST_NP 0x40 ---------------------
uname -r
5.10
nm liblmdb.so |grep setrobust
[245] | 0| 0|FUNC |GLOB |0 |UNDEF |pthread_mutexattr_setrobust_np