Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pthread functions "_np" suffix

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_ADAPTIVE_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?

like image 595
osgx Avatar asked Feb 10 '10 16:02

osgx


2 Answers

Non standard extensions -- i.e., Non Portable. ref (from the Internet Archive)

like image 152
Hassan Syed Avatar answered Jan 12 '23 02:01

Hassan Syed


It stands for Non Portable.

That is, it's platform specific extensions to the standard pthreads functions.

like image 38
nos Avatar answered Jan 12 '23 02:01

nos