What does "_np" suffix mean here:
pthread_mutex_timedlock_np
or in macros
PTHREAD_MUTEX_TIMED_NP
Upd:
From glibc2.2
enum
{
PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_ADA开发者_运维百科PTIVE_NP
#ifdef __USE_UNIX98
,
PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
#endif
#ifdef __USE_GNU
/* For compatibility. */
, PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_ADAPTIVE_NP
#endif
};
Does defining __USE_UNIX98
change portability of _NP functions/macro?
Non standard extensions -- i.e., Non Portable. ref (from the Internet Archive)
It stands for Non Portable.
That is, it's platform specific extensions to the standard pthreads functions.
精彩评论