503 lines
30 KiB
HTML
503 lines
30 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
|
|
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
|
|
<title><pthread.h></title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
|
|
</script>
|
|
|
|
<basefont size="3"> <a name="<pthread.h>"></a> <a name="tag_13_36"></a><!-- <pthread.h> -->
|
|
<!--header start-->
|
|
<center><font size="2">The Open Group Base Specifications Issue 6<br>
|
|
IEEE Std 1003.1-2001<br>
|
|
Copyright © 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
|
|
|
|
<!--header end-->
|
|
<hr size="2" noshade>
|
|
<h4><a name="tag_13_36_01"></a>NAME</h4>
|
|
|
|
<blockquote>pthread.h - threads</blockquote>
|
|
|
|
<h4><a name="tag_13_36_02"></a>SYNOPSIS</h4>
|
|
|
|
<blockquote class="synopsis">
|
|
<div class="box"><tt><sup>[<a href="javascript:open_code('THR')">THR</a>]</sup> <img src="../images/opt-start.gif" alt=
|
|
"[Option Start]" border="0"> #include <pthread.h> <img src="../images/opt-end.gif" alt="[Option End]" border="0"></tt></div>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_03"></a>DESCRIPTION</h4>
|
|
|
|
<blockquote>
|
|
<p>The <i><pthread.h></i> header shall define the following symbols:</p>
|
|
|
|
<p><br>
|
|
<sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
PTHREAD_BARRIER_SERIAL_THREAD<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
PTHREAD_CANCEL_ASYNCHRONOUS<br>
|
|
PTHREAD_CANCEL_ENABLE<br>
|
|
PTHREAD_CANCEL_DEFERRED<br>
|
|
PTHREAD_CANCEL_DISABLE<br>
|
|
PTHREAD_CANCELED<br>
|
|
PTHREAD_COND_INITIALIZER<br>
|
|
PTHREAD_CREATE_DETACHED<br>
|
|
PTHREAD_CREATE_JOINABLE<br>
|
|
PTHREAD_EXPLICIT_SCHED<br>
|
|
PTHREAD_INHERIT_SCHED<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
PTHREAD_MUTEX_DEFAULT<br>
|
|
PTHREAD_MUTEX_ERRORCHECK<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
PTHREAD_MUTEX_INITIALIZER<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
PTHREAD_MUTEX_NORMAL<br>
|
|
PTHREAD_MUTEX_RECURSIVE<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
PTHREAD_ONCE_INIT<br>
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP|TPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
PTHREAD_PRIO_INHERIT<br>
|
|
PTHREAD_PRIO_NONE<br>
|
|
PTHREAD_PRIO_PROTECT<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
PTHREAD_PROCESS_SHARED<br>
|
|
PTHREAD_PROCESS_PRIVATE<br>
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
PTHREAD_SCOPE_PROCESS<br>
|
|
PTHREAD_SCOPE_SYSTEM<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
</p>
|
|
|
|
<p>The following types shall be defined as described in <a href="sys/types.h.html"><i><sys/types.h></i></a> :</p>
|
|
|
|
<p><br>
|
|
<b>pthread_attr_t</b><br>
|
|
<sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
<b>pthread_barrier_t</b><br>
|
|
<b>pthread_barrierattr_t</b><br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<b>pthread_cond_t</b><br>
|
|
<b>pthread_condattr_t</b><br>
|
|
<b>pthread_key_t</b><br>
|
|
<b>pthread_mutex_t</b><br>
|
|
<b>pthread_mutexattr_t</b><br>
|
|
<b>pthread_once_t</b><br>
|
|
<b>pthread_rwlock_t</b><br>
|
|
<b>pthread_rwlockattr_t</b><br>
|
|
<sup>[<a href="javascript:open_code('SPI')">SPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
<b>pthread_spinlock_t</b><br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<b>pthread_t</b><br>
|
|
</p>
|
|
|
|
<p>The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.</p>
|
|
|
|
<pre>
|
|
<tt>int pthread_atfork(void (*)(void), void (*)(void),
|
|
void(*)(void));
|
|
int pthread_attr_destroy(pthread_attr_t *);
|
|
int pthread_attr_getdetachstate(const pthread_attr_t *, int *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_getguardsize(const pthread_attr_t *restrict,
|
|
size_t *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_getinheritsched(const pthread_attr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_attr_getschedparam(const pthread_attr_t *restrict,
|
|
struct sched_param *restrict);
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_getschedpolicy(const pthread_attr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_getscope(const pthread_attr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSA TSS')">TSA TSS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0">
|
|
int pthread_attr_getstack(const pthread_attr_t *restrict,
|
|
void **restrict, size_t *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSA')">TSA</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_getstackaddr(const pthread_attr_t *restrict,
|
|
void **restrict);
|
|
int pthread_attr_getstacksize(const pthread_attr_t *restrict,
|
|
size_t *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_attr_init(pthread_attr_t *);
|
|
int pthread_attr_setdetachstate(pthread_attr_t *, int);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_setguardsize(pthread_attr_t *, size_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_setinheritsched(pthread_attr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_attr_setschedparam(pthread_attr_t *restrict,
|
|
const struct sched_param *restrict);
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_setschedpolicy(pthread_attr_t *, int);
|
|
int pthread_attr_setscope(pthread_attr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSA TSS')">TSA TSS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0">
|
|
int pthread_attr_setstack(pthread_attr_t *, void *, size_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSA')">TSA</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_attr_setstackaddr(pthread_attr_t *, void *);
|
|
int pthread_attr_setstacksize(pthread_attr_t *, size_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_barrier_destroy(pthread_barrier_t *);
|
|
int pthread_barrier_init(pthread_barrier_t *restrict,
|
|
const pthread_barrierattr_t *restrict, unsigned);
|
|
int pthread_barrier_wait(pthread_barrier_t *);
|
|
int pthread_barrierattr_destroy(pthread_barrierattr_t *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('BAR TSH')">BAR TSH</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0">
|
|
int pthread_barrierattr_getpshared(
|
|
const pthread_barrierattr_t *restrict, int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_barrierattr_init(pthread_barrierattr_t *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('BAR TSH')">BAR TSH</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0">
|
|
int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_cancel(pthread_t);
|
|
void pthread_cleanup_push(void (*)(void *), void *);
|
|
void pthread_cleanup_pop(int);
|
|
int pthread_cond_broadcast(pthread_cond_t *);
|
|
int pthread_cond_destroy(pthread_cond_t *);
|
|
int pthread_cond_init(pthread_cond_t *restrict,
|
|
const pthread_condattr_t *restrict);
|
|
int pthread_cond_signal(pthread_cond_t *);
|
|
int pthread_cond_timedwait(pthread_cond_t *restrict,
|
|
pthread_mutex_t *restrict, const struct timespec *restrict);
|
|
int pthread_cond_wait(pthread_cond_t *restrict,
|
|
pthread_mutex_t *restrict);
|
|
int pthread_condattr_destroy(pthread_condattr_t *);
|
|
<sup>[<a href="javascript:open_code('CS')">CS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_condattr_getclock(const pthread_condattr_t *restrict,
|
|
clockid_t *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSH')">TSH</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_condattr_getpshared(const pthread_condattr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_condattr_init(pthread_condattr_t *);
|
|
<sup>[<a href="javascript:open_code('CS')">CS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_condattr_setclock(pthread_condattr_t *, clockid_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TSH')">TSH</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_condattr_setpshared(pthread_condattr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_create(pthread_t *restrict, const pthread_attr_t *restrict,
|
|
void *(*)(void *), void *restrict);
|
|
int pthread_detach(pthread_t);
|
|
int pthread_equal(pthread_t, pthread_t);
|
|
void pthread_exit(void *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_getconcurrency(void);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TCT')">TCT</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_getcpuclockid(pthread_t, clockid_t *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_getschedparam(pthread_t, int *restrict,
|
|
struct sched_param *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
void *pthread_getspecific(pthread_key_t);
|
|
int pthread_join(pthread_t, void **);
|
|
int pthread_key_create(pthread_key_t *, void (*)(void *));
|
|
int pthread_key_delete(pthread_key_t);
|
|
int pthread_mutex_destroy(pthread_mutex_t *);
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutex_getprioceiling(const pthread_mutex_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_mutex_init(pthread_mutex_t *restrict,
|
|
const pthread_mutexattr_t *restrict);
|
|
int pthread_mutex_lock(pthread_mutex_t *);
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutex_setprioceiling(pthread_mutex_t *restrict, int,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TMO')">TMO</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutex_timedlock(pthread_mutex_t *,
|
|
const struct timespec *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_mutex_trylock(pthread_mutex_t *);
|
|
int pthread_mutex_unlock(pthread_mutex_t *);
|
|
int pthread_mutexattr_destroy(pthread_mutexattr_t *);
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_getprioceiling(
|
|
const pthread_mutexattr_t *restrict, int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP|TPI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict,
|
|
int *restrict);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict,
|
|
int *restrict);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_mutexattr_init(pthread_mutexattr_t *);
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPP')">TPP|TPI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_mutexattr_settype(pthread_mutexattr_t *, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_once(pthread_once_t *, void (*)(void));
|
|
int pthread_rwlock_destroy(pthread_rwlock_t *);
|
|
int pthread_rwlock_init(pthread_rwlock_t *restrict,
|
|
const pthread_rwlockattr_t *restrict);
|
|
int pthread_rwlock_rdlock(pthread_rwlock_t *);
|
|
int pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict,
|
|
const struct timespec *restrict);
|
|
int pthread_rwlock_timedwrlock(pthread_rwlock_t *restrict,
|
|
const struct timespec *restrict);
|
|
int pthread_rwlock_tryrdlock(pthread_rwlock_t *);
|
|
int pthread_rwlock_trywrlock(pthread_rwlock_t *);
|
|
int pthread_rwlock_unlock(pthread_rwlock_t *);
|
|
int pthread_rwlock_wrlock(pthread_rwlock_t *);
|
|
int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
|
|
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict,
|
|
int *restrict);
|
|
int pthread_rwlockattr_init(pthread_rwlockattr_t *);
|
|
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);
|
|
pthread_t
|
|
pthread_self(void);
|
|
int pthread_setcancelstate(int, int *);
|
|
int pthread_setcanceltype(int, int *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_setconcurrency(int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_setschedparam(pthread_t, int,
|
|
const struct sched_param *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_setschedprio(pthread_t, int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int pthread_setspecific(pthread_key_t, const void *);
|
|
<sup>[<a href="javascript:open_code('SPI')">SPI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int pthread_spin_destroy(pthread_spinlock_t *);
|
|
int pthread_spin_init(pthread_spinlock_t *, int);
|
|
int pthread_spin_lock(pthread_spinlock_t *);
|
|
int pthread_spin_trylock(pthread_spinlock_t *);
|
|
int pthread_spin_unlock(pthread_spinlock_t *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
void pthread_testcancel(void);
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>Inclusion of the <i><pthread.h></i> header shall make symbols defined in the headers <a href=
|
|
"../basedefs/sched.h.html"><i><sched.h></i></a> and <a href="../basedefs/time.h.html"><i><time.h></i></a> visible.</p>
|
|
</blockquote>
|
|
|
|
<hr>
|
|
<div class="box"><em>The following sections are informative.</em></div>
|
|
|
|
<h4><a name="tag_13_36_04"></a>APPLICATION USAGE</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_05"></a>RATIONALE</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_06"></a>FUTURE DIRECTIONS</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_07"></a>SEE ALSO</h4>
|
|
|
|
<blockquote>
|
|
<p><a href="sched.h.html"><i><sched.h></i></a> , <a href="sys/types.h.html"><i><sys/types.h></i></a> , <a href=
|
|
"time.h.html"><i><time.h></i></a> , the System Interfaces volume of IEEE Std 1003.1-2001, <a href=
|
|
"../functions/pthread_attr_getguardsize.html"><i>pthread_attr_getguardsize</i>()</a>, <a href=
|
|
"../functions/pthread_attr_init.html"><i>pthread_attr_init</i>()</a>, <a href=
|
|
"../functions/pthread_attr_setscope.html"><i>pthread_attr_setscope</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_destroy.html"><i>pthread_barrier_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_init.html"><i>pthread_barrier_init</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_wait.html"><i>pthread_barrier_wait</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_destroy.html"><i>pthread_barrierattr_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_getpshared.html"><i>pthread_barrierattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_init.html"><i>pthread_barrierattr_init</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_setpshared.html"><i>pthread_barrierattr_setpshared</i>()</a>, <a href=
|
|
"../functions/pthread_cancel.html"><i>pthread_cancel</i>()</a>, <a href=
|
|
"../functions/pthread_cleanup_pop.html"><i>pthread_cleanup_pop</i>()</a>, <a href=
|
|
"../functions/pthread_cond_init.html"><i>pthread_cond_init</i>()</a>, <a href=
|
|
"../functions/pthread_cond_signal.html"><i>pthread_cond_signal</i>()</a>, <a href=
|
|
"../functions/pthread_cond_wait.html"><i>pthread_cond_wait</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_getclock.html"><i>pthread_condattr_getclock</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_init.html"><i>pthread_condattr_init</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_setclock.html"><i>pthread_condattr_setclock</i>()</a>, <a href=
|
|
"../functions/pthread_create.html"><i>pthread_create</i>()</a>, <a href=
|
|
"../functions/pthread_detach.html"><i>pthread_detach</i>()</a>, <a href=
|
|
"../functions/pthread_equal.html"><i>pthread_equal</i>()</a>, <a href="../functions/pthread_exit.html"><i>pthread_exit</i>()</a>,
|
|
<a href="../functions/pthread_getconcurrency.html"><i>pthread_getconcurrency</i>()</a>, <a href=
|
|
"../functions/pthread_getcpuclockid.html"><i>pthread_getcpuclockid</i>()</a>, <a href=
|
|
"../functions/pthread_getschedparam.html"><i>pthread_getschedparam</i>()</a>, <a href=
|
|
"../functions/pthread_join.html"><i>pthread_join</i>()</a>, <a href=
|
|
"../functions/pthread_key_create.html"><i>pthread_key_create</i>()</a>, <a href=
|
|
"../functions/pthread_key_delete.html"><i>pthread_key_delete</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_init.html"><i>pthread_mutex_init</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_lock.html"><i>pthread_mutex_lock</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_setprioceiling.html"><i>pthread_mutex_setprioceiling</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_timedlock.html"><i>pthread_mutex_timedlock</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_init.html"><i>pthread_mutexattr_init</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_gettype.html"><i>pthread_mutexattr_gettype</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_setprotocol.html"><i>pthread_mutexattr_setprotocol</i>()</a>, <a href=
|
|
"../functions/pthread_once.html"><i>pthread_once</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_destroy.html"><i>pthread_rwlock_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_init.html"><i>pthread_rwlock_init</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_rdlock.html"><i>pthread_rwlock_rdlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedrdlock.html"><i>pthread_rwlock_timedrdlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedwrlock.html"><i>pthread_rwlock_timedwrlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_tryrdlock.html"><i>pthread_rwlock_tryrdlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_trywrlock.html"><i>pthread_rwlock_trywrlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_unlock.html"><i>pthread_rwlock_unlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_wrlock.html"><i>pthread_rwlock_wrlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlockattr_destroy.html"><i>pthread_rwlockattr_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_rwlockattr_getpshared.html"><i>pthread_rwlockattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_rwlockattr_init.html"><i>pthread_rwlockattr_init</i>()</a>, <a href=
|
|
"../functions/pthread_rwlockattr_setpshared.html"><i>pthread_rwlockattr_setpshared</i>()</a>, <a href=
|
|
"../functions/pthread_self.html"><i>pthread_self</i>()</a>, <a href=
|
|
"../functions/pthread_setcancelstate.html"><i>pthread_setcancelstate</i>()</a>, <a href=
|
|
"../functions/pthread_setspecific.html"><i>pthread_setspecific</i>()</a>, <a href=
|
|
"../functions/pthread_spin_destroy.html"><i>pthread_spin_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_spin_init.html"><i>pthread_spin_init</i>()</a>, <a href=
|
|
"../functions/pthread_spin_lock.html"><i>pthread_spin_lock</i>()</a>, <a href=
|
|
"../functions/pthread_spin_trylock.html"><i>pthread_spin_trylock</i>()</a>, <a href=
|
|
"../functions/pthread_spin_unlock.html"><i>pthread_spin_unlock</i>()</a></p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_08"></a>CHANGE HISTORY</h4>
|
|
|
|
<blockquote>
|
|
<p>First released in Issue 5. Included for alignment with the POSIX Threads Extension.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_36_09"></a>Issue 6</h4>
|
|
|
|
<blockquote>
|
|
<p>The RTT margin markers are broken out into their POSIX options.</p>
|
|
|
|
<p>The Open Group Corrigendum U021/9 is applied, correcting the prototype for the <a href=
|
|
"../functions/pthread_cond_wait.html"><i>pthread_cond_wait</i>()</a> function.</p>
|
|
|
|
<p>The Open Group Corrigendum U026/2 is applied, correcting the prototype for the <a href=
|
|
"../functions/pthread_setschedparam.html"><i>pthread_setschedparam</i>()</a> function so that its second argument is of type
|
|
<b>int</b>.</p>
|
|
|
|
<p>The <a href="../functions/pthread_getcpuclockid.html"><i>pthread_getcpuclockid</i>()</a> and <a href=
|
|
"../functions/pthread_mutex_timedlock.html"><i>pthread_mutex_timedlock</i>()</a> functions are added for alignment with
|
|
IEEE Std 1003.1d-1999.</p>
|
|
|
|
<p>The following functions are added for alignment with IEEE Std 1003.1j-2000: <a href=
|
|
"../functions/pthread_barrier_destroy.html"><i>pthread_barrier_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_init.html"><i>pthread_barrier_init</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_wait.html"><i>pthread_barrier_wait</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_destroy.html"><i>pthread_barrierattr_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_getpshared.html"><i>pthread_barrierattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_init.html"><i>pthread_barrierattr_init</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_setpshared.html"><i>pthread_barrierattr_setpshared</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_getclock.html"><i>pthread_condattr_getclock</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_setclock.html"><i>pthread_condattr_setclock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedrdlock.html"><i>pthread_rwlock_timedrdlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedwrlock.html"><i>pthread_rwlock_timedwrlock</i>()</a>, <a href=
|
|
"../functions/pthread_spin_destroy.html"><i>pthread_spin_destroy</i>()</a>, <a href=
|
|
"../functions/pthread_spin_init.html"><i>pthread_spin_init</i>()</a>, <a href=
|
|
"../functions/pthread_spin_lock.html"><i>pthread_spin_lock</i>()</a>, <a href=
|
|
"../functions/pthread_spin_trylock.html"><i>pthread_spin_trylock</i>()</a>, and <a href=
|
|
"../functions/pthread_spin_unlock.html"><i>pthread_spin_unlock</i>()</a>.</p>
|
|
|
|
<p>PTHREAD_RWLOCK_INITIALIZER is deleted for alignment with IEEE Std 1003.1j-2000.</p>
|
|
|
|
<p>Functions previously marked as part of the Read-Write Locks option are now moved to the Threads option.</p>
|
|
|
|
<p>The <b>restrict</b> keyword is added to the prototypes for <a href=
|
|
"../functions/pthread_attr_getguardsize.html"><i>pthread_attr_getguardsize</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getinheritsched.html"><i>pthread_attr_getinheritsched</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getschedparam.html"><i>pthread_attr_getschedparam</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getschedpolicy.html"><i>pthread_attr_getschedpolicy</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getscope.html"><i>pthread_attr_getscope</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getstackaddr.html"><i>pthread_attr_getstackaddr</i>()</a>, <a href=
|
|
"../functions/pthread_attr_getstacksize.html"><i>pthread_attr_getstacksize</i>()</a>, <a href=
|
|
"../functions/pthread_attr_setschedparam.html"><i>pthread_attr_setschedparam</i>()</a>, <a href=
|
|
"../functions/pthread_barrier_init.html"><i>pthread_barrier_init</i>()</a>, <a href=
|
|
"../functions/pthread_barrierattr_getpshared.html"><i>pthread_barrierattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_cond_init.html"><i>pthread_cond_init</i>()</a>, <a href=
|
|
"../functions/pthread_cond_signal.html"><i>pthread_cond_signal</i>()</a>, <a href=
|
|
"../functions/pthread_cond_timedwait.html"><i>pthread_cond_timedwait</i>()</a>, <a href=
|
|
"../functions/pthread_cond_wait.html"><i>pthread_cond_wait</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_getclock.html"><i>pthread_condattr_getclock</i>()</a>, <a href=
|
|
"../functions/pthread_condattr_getpshared.html"><i>pthread_condattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_create.html"><i>pthread_create</i>()</a>, <a href=
|
|
"../functions/pthread_getschedparam.html"><i>pthread_getschedparam</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_getprioceiling.html"><i>pthread_mutex_getprioceiling</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_init.html"><i>pthread_mutex_init</i>()</a>, <a href=
|
|
"../functions/pthread_mutex_setprioceiling.html"><i>pthread_mutex_setprioceiling</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_getprioceiling.html"><i>pthread_mutexattr_getprioceiling</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_getprotocol.html"><i>pthread_mutexattr_getprotocol</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_getpshared.html"><i>pthread_mutexattr_getpshared</i>()</a>, <a href=
|
|
"../functions/pthread_mutexattr_gettype.html"><i>pthread_mutexattr_gettype</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_init.html"><i>pthread_rwlock_init</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedrdlock.html"><i>pthread_rwlock_timedrdlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlock_timedwrlock.html"><i>pthread_rwlock_timedwrlock</i>()</a>, <a href=
|
|
"../functions/pthread_rwlockattr_getpshared.html"><i>pthread_rwlockattr_getpshared</i>()</a>, and <a href=
|
|
"../functions/pthread_sigmask.html"><i>pthread_sigmask</i>()</a>.</p>
|
|
|
|
<p>IEEE PASC Interpretation 1003.1 #86 is applied, allowing the symbols from <a href=
|
|
"../basedefs/sched.h.html"><i><sched.h></i></a> and <a href="../basedefs/time.h.html"><i><time.h></i></a> to be made
|
|
visible when <i><pthread.h></i> is included. Previously this was an XSI extension.</p>
|
|
|
|
<p>IEEE PASC Interpretation 1003.1c #42 is applied, removing the requirement for prototypes for the <a href=
|
|
"../functions/pthread_kill.html"><i>pthread_kill</i>()</a> and <a href=
|
|
"../functions/pthread_sigmask.html"><i>pthread_sigmask</i>()</a> functions. These are required to be in the <a href=
|
|
"../basedefs/signal.h.html"><i><signal.h></i></a> header. They are allowed here through the name space rules.</p>
|
|
|
|
<p>IEEE PASC Interpretation 1003.1 #96 is applied, adding the <a href=
|
|
"../functions/pthread_setschedprio.html"><i>pthread_setschedprio</i>()</a> function.</p>
|
|
</blockquote>
|
|
|
|
<div class="box"><em>End of informative text.</em></div>
|
|
|
|
<hr>
|
|
<hr size="2" noshade>
|
|
<center><font size="2"><!--footer start-->
|
|
UNIX ® is a registered Trademark of The Open Group.<br>
|
|
POSIX ® is a registered Trademark of The IEEE.<br>
|
|
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
|
|
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
|
|
]</font></center>
|
|
|
|
<!--footer end-->
|
|
<hr size="2" noshade>
|
|
</body>
|
|
</html>
|
|
|