16

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?

osgx
  • 90,338
  • 53
  • 357
  • 513

2 Answers2

14

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

cxw
  • 16,685
  • 2
  • 45
  • 81
Hassan Syed
  • 20,075
  • 11
  • 87
  • 171
8

It stands for Non Portable.

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

nos
  • 223,662
  • 58
  • 417
  • 506