11.6. Interfaces for libpthread

Table 11-27 defines the library name and shared object name for the libpthread library

Table 11-27. libpthread Definition

Library:libpthread
SONAME:libpthread.so.0

The behavior of the interfaces in this library is specified by the following specifications:

[LFS] Large File Support
[LSB] This Specification
[SUSv3] ISO POSIX (2003)

11.6.1. Realtime Threads

11.6.1.1. Interfaces for Realtime Threads

An LSB conforming implementation shall provide the architecture specific functions for Realtime Threads specified in Table 11-28, with the full mandatory functionality as described in the referenced underlying specification.

Table 11-28. libpthread - Realtime Threads Function Interfaces

pthread_attr_getinheritsched(GLIBC_2.0) [SUSv3]pthread_attr_getschedpolicy(GLIBC_2.0) [SUSv3]pthread_attr_getscope(GLIBC_2.0) [SUSv3]pthread_attr_setinheritsched(GLIBC_2.0) [SUSv3]
pthread_attr_setschedpolicy(GLIBC_2.0) [SUSv3]pthread_attr_setscope(GLIBC_2.0) [SUSv3]pthread_getschedparam(GLIBC_2.0) [SUSv3]pthread_setschedparam(GLIBC_2.0) [SUSv3]

11.6.2. Advanced Realtime Threads

11.6.2.1. Interfaces for Advanced Realtime Threads

No external functions are defined for libpthread - Advanced Realtime Threads in this part of the specification. See also the generic specification.

11.6.3. Posix Threads

11.6.3.1. Interfaces for Posix Threads

An LSB conforming implementation shall provide the architecture specific functions for Posix Threads specified in Table 11-29, with the full mandatory functionality as described in the referenced underlying specification.

Table 11-29. libpthread - Posix Threads Function Interfaces

_pthread_cleanup_pop(GLIBC_2.0) [LSB]_pthread_cleanup_push(GLIBC_2.0) [LSB]pthread_attr_destroy(GLIBC_2.0) [SUSv3]pthread_attr_getdetachstate(GLIBC_2.0) [SUSv3]
pthread_attr_getguardsize(GLIBC_2.1) [SUSv3]pthread_attr_getschedparam(GLIBC_2.0) [SUSv3]pthread_attr_getstack(GLIBC_2.2) [SUSv3]pthread_attr_getstackaddr(GLIBC_2.1) [SUSv3]
pthread_attr_getstacksize(GLIBC_2.1) [SUSv3]pthread_attr_init(GLIBC_2.1) [SUSv3]pthread_attr_setdetachstate(GLIBC_2.0) [SUSv3]pthread_attr_setguardsize(GLIBC_2.1) [SUSv3]
pthread_attr_setschedparam(GLIBC_2.0) [SUSv3]pthread_attr_setstackaddr(GLIBC_2.1) [SUSv3]pthread_attr_setstacksize(GLIBC_2.1) [SUSv3]pthread_cancel(GLIBC_2.0) [SUSv3]
pthread_cond_broadcast(GLIBC_2.3.2) [SUSv3]pthread_cond_destroy(GLIBC_2.3.2) [SUSv3]pthread_cond_init(GLIBC_2.3.2) [SUSv3]pthread_cond_signal(GLIBC_2.3.2) [SUSv3]
pthread_cond_timedwait(GLIBC_2.3.2) [SUSv3]pthread_cond_wait(GLIBC_2.3.2) [SUSv3]pthread_condattr_destroy(GLIBC_2.0) [SUSv3]pthread_condattr_getpshared(GLIBC_2.2) [SUSv3]
pthread_condattr_init(GLIBC_2.0) [SUSv3]pthread_condattr_setpshared(GLIBC_2.2) [SUSv3]pthread_create(GLIBC_2.1) [SUSv3]pthread_detach(GLIBC_2.0) [SUSv3]
pthread_equal(GLIBC_2.0) [SUSv3]pthread_exit(GLIBC_2.0) [SUSv3]pthread_getconcurrency(GLIBC_2.1) [SUSv3]pthread_getspecific(GLIBC_2.0) [SUSv3]
pthread_join(GLIBC_2.0) [SUSv3]pthread_key_create(GLIBC_2.0) [SUSv3]pthread_key_delete(GLIBC_2.0) [SUSv3]pthread_kill(GLIBC_2.0) [SUSv3]
pthread_mutex_destroy(GLIBC_2.0) [SUSv3]pthread_mutex_init(GLIBC_2.0) [SUSv3]pthread_mutex_lock(GLIBC_2.0) [SUSv3]pthread_mutex_trylock(GLIBC_2.0) [SUSv3]
pthread_mutex_unlock(GLIBC_2.0) [SUSv3]pthread_mutexattr_destroy(GLIBC_2.0) [SUSv3]pthread_mutexattr_getpshared(GLIBC_2.2) [SUSv3]pthread_mutexattr_gettype(GLIBC_2.1) [SUSv3]
pthread_mutexattr_init(GLIBC_2.0) [SUSv3]pthread_mutexattr_setpshared(GLIBC_2.2) [SUSv3]pthread_mutexattr_settype(GLIBC_2.1) [SUSv3]pthread_once(GLIBC_2.0) [SUSv3]
pthread_rwlock_destroy(GLIBC_2.1) [SUSv3]pthread_rwlock_init(GLIBC_2.1) [SUSv3]pthread_rwlock_rdlock(GLIBC_2.1) [SUSv3]pthread_rwlock_timedrdlock(GLIBC_2.2) [SUSv3]
pthread_rwlock_timedwrlock(GLIBC_2.2) [SUSv3]pthread_rwlock_tryrdlock(GLIBC_2.1) [SUSv3]pthread_rwlock_trywrlock(GLIBC_2.1) [SUSv3]pthread_rwlock_unlock(GLIBC_2.1) [SUSv3]
pthread_rwlock_wrlock(GLIBC_2.1) [SUSv3]pthread_rwlockattr_destroy(GLIBC_2.1) [SUSv3]pthread_rwlockattr_getpshared(GLIBC_2.1) [SUSv3]pthread_rwlockattr_init(GLIBC_2.1) [SUSv3]
pthread_rwlockattr_setpshared(GLIBC_2.1) [SUSv3]pthread_self(GLIBC_2.0) [SUSv3]pthread_setcancelstate(GLIBC_2.0) [SUSv3]pthread_setcanceltype(GLIBC_2.0) [SUSv3]
pthread_setconcurrency(GLIBC_2.1) [SUSv3]pthread_setspecific(GLIBC_2.0) [SUSv3]pthread_sigmask(GLIBC_2.0) [SUSv3]pthread_testcancel(GLIBC_2.0) [SUSv3]
sem_close(GLIBC_2.1.1) [SUSv3]sem_destroy(GLIBC_2.1) [SUSv3]sem_getvalue(GLIBC_2.1) [SUSv3]sem_init(GLIBC_2.1) [SUSv3]
sem_open(GLIBC_2.1.1) [SUSv3]sem_post(GLIBC_2.1) [SUSv3]sem_timedwait(GLIBC_2.2) [SUSv3]sem_trywait(GLIBC_2.1) [SUSv3]
sem_unlink(GLIBC_2.1.1) [SUSv3]sem_wait(GLIBC_2.1) [SUSv3]  

11.6.4. Thread aware versions of libc interfaces

11.6.4.1. Interfaces for Thread aware versions of libc interfaces

An LSB conforming implementation shall provide the architecture specific functions for Thread aware versions of libc interfaces specified in Table 11-30, with the full mandatory functionality as described in the referenced underlying specification.

Table 11-30. libpthread - Thread aware versions of libc interfaces Function Interfaces

lseek64(GLIBC_2.2) [LFS]open64(GLIBC_2.2) [LFS]pread(GLIBC_2.2) [SUSv3]pread64(GLIBC_2.2) [LFS]
pwrite(GLIBC_2.2) [SUSv3]pwrite64(GLIBC_2.2) [LFS]