[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