[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8339) LMDB robust mutex fix
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