mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-10 17:43:21 +00:00
Merged these into POSIX manual.
This commit is contained in:
@@ -1,175 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Thread Cancellation Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
thread cancellation manager is ...
|
|
||||||
|
|
||||||
The directives provided by the thread cancellation manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{pthread_cancel} -
|
|
||||||
@item @code{pthread_setcancelstate} -
|
|
||||||
@item @code{pthread_setcanceltype} -
|
|
||||||
@item @code{pthread_testcancel} -
|
|
||||||
@item @code{pthread_cleanup_push} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the thread cancellation manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cancel -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int pthread_cancel(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_setcancelstate -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int pthread_setcancelstate(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_setcanceltype -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int pthread_setcanceltype(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_testcancel -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int pthread_testcancel(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cleanup_push -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int pthread_cleanup_push(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,274 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Clock Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The clock manager ...
|
|
||||||
|
|
||||||
The directives provided by the clock manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{clock_gettime} -
|
|
||||||
@item @code{clock_settime} -
|
|
||||||
@item @code{clock_getres} -
|
|
||||||
@item @code{sleep} - Delay Process Execution
|
|
||||||
@item @code{nanosleep} -
|
|
||||||
@item @code{gettimeofday} - Get the Time of Day
|
|
||||||
@item @code{time} - Get time in seconds
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the clock manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@subsection clock_gettime -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int clock_gettime(
|
|
||||||
clockid_t clock_id,
|
|
||||||
struct timespec *tp
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The tp pointer parameter is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The clock_id specified is invalid.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection clock_settime -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int clock_settime(
|
|
||||||
clockid_t clock_id,
|
|
||||||
const struct timespec *tp
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The tp pointer parameter is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The clock_id specified is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The contents of the tp structure are invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection clock_getres -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int clock_getres(
|
|
||||||
clockid_t clock_id,
|
|
||||||
struct timespec *res
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The res pointer parameter is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The clock_id specified is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
If res is NULL, then the resolution is not returned.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sleep - Delay Process Execution
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
unsigned int sleep(
|
|
||||||
unsigned int seconds
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This routine returns the number of unslept seconds.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{sleep()} function delays the calling thread by the specified
|
|
||||||
number of @code{seconds}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This call is interruptible by a signal.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection nanosleep -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int nanosleep(
|
|
||||||
const struct timespec *rqtp,
|
|
||||||
struct timespec *rmtp
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINTR
|
|
||||||
The routine was interrupted by a signal.
|
|
||||||
|
|
||||||
@item EAGAIN
|
|
||||||
The requested sleep period specified negative seconds or nanoseconds.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The requested sleep period specified an invalid number for the nanoseconds
|
|
||||||
field.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This call is interruptible by a signal.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection gettimeofday - Get the Time of Day
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int gettimeofday(
|
|
||||||
struct timeval *tp,
|
|
||||||
struct timezone *tzp
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets @code{errno} as appropriate.
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EPERM
|
|
||||||
@code{settimeofdat} is called by someone other than the superuser.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Timezone (or something else) is invalid.
|
|
||||||
|
|
||||||
@item EFAULT
|
|
||||||
One of @code{tv} or @code{tz} pointed outside your accessible address
|
|
||||||
space
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine returns the current time of day in the @code{tp} structure.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
Currently, the timezone information is not supported. The @code{tzp}
|
|
||||||
argument is ignored.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection time - Get time in seconds
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int time(
|
|
||||||
time_t *tloc
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This routine returns the number of seconds since the Epoch.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@code{time} returns the time since 00:00:00 GMT, January 1, 1970,
|
|
||||||
measured in seconds
|
|
||||||
|
|
||||||
If @code{tloc} in non null, the return value is also stored in the
|
|
||||||
memory pointed to by @code{t}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@@ -1,323 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Condition Variable Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The condition variable manager ...
|
|
||||||
|
|
||||||
The directives provided by the condition variable manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{pthread_condattr_init} -
|
|
||||||
@item @code{pthread_condattr_destroy} -
|
|
||||||
@item @code{pthread_condattr_setpshared} -
|
|
||||||
@item @code{pthread_condattr_getpshared} -
|
|
||||||
@item @code{pthread_cond_init} -
|
|
||||||
@item @code{pthread_cond_destroy} -
|
|
||||||
@item @code{pthread_cond_signal} -
|
|
||||||
@item @code{pthread_cond_broadcast} -
|
|
||||||
@item @code{pthread_cond_wait} -
|
|
||||||
@item @code{pthread_cond_timedwait} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the condition variable manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_condattr_init
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_condattr_init(
|
|
||||||
pthread_condattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item ENOMEM
|
|
||||||
Insufficient memory is available to initialize the condition variable
|
|
||||||
attributes object.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_condattr_destroy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_condattr_destroy(
|
|
||||||
pthread_condattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute object specified is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_condattr_setpshared
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_condattr_setpshared(
|
|
||||||
pthread_condattr_t *attr,
|
|
||||||
int pshared
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_condattr_getpshared
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_condattr_getpshared(
|
|
||||||
const pthread_condattr_t *attr,
|
|
||||||
int *pshared
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_init
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_init(
|
|
||||||
pthread_cond_t *cond,
|
|
||||||
const pthread_condattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EAGAIN
|
|
||||||
The system lacked a resource other than memory necessary to create the
|
|
||||||
initialize the condition variable object.
|
|
||||||
|
|
||||||
@item ENOMEM
|
|
||||||
Insufficient memory is available to initialize the condition variable object.
|
|
||||||
|
|
||||||
@item EBUSY
|
|
||||||
The specified condition variable has already been initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified attribute value is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_destroy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_destroy(
|
|
||||||
pthread_cond_t *cond
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified condition variable is invalid.
|
|
||||||
|
|
||||||
@item EBUSY
|
|
||||||
The specified condition variable is currently in use.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_signal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_signal(
|
|
||||||
pthread_cond_t *cond
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified condition variable is not valid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine should not be invoked from a handler from an asynchronous signal
|
|
||||||
handler or an interrupt service routine.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_broadcast
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_broadcast(
|
|
||||||
pthread_cond_t *cond
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified condition variable is not valid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine should not be invoked from a handler from an asynchronous signal
|
|
||||||
handler or an interrupt service routine.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_wait
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_wait(
|
|
||||||
pthread_cond_t *cond,
|
|
||||||
pthread_mutex_t *mutex
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified condition variable or mutex is not initialized OR different
|
|
||||||
mutexes were specified for concurrent pthread_cond_wait() and
|
|
||||||
pthread_cond_timedwait() operations on the same condition variable OR
|
|
||||||
the mutex was not owned by the current thread at the time of the call.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_cond_timedwait
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_cond_timedwait(
|
|
||||||
pthread_cond_t *cond,
|
|
||||||
pthread_mutex_t *mutex,
|
|
||||||
const struct timespec *abstime
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified condition variable or mutex is not initialized OR different
|
|
||||||
mutexes were specified for concurrent pthread_cond_wait() and
|
|
||||||
pthread_cond_timedwait() operations on the same condition variable OR
|
|
||||||
the mutex was not owned by the current thread at the time of the call.
|
|
||||||
|
|
||||||
@item ETIMEDOUT
|
|
||||||
The specified time has elapsed without the condition variable being
|
|
||||||
satisfied.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,623 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Language-Specific Services for the C Programming Language Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
language-specific services for the C programming language manager is ...
|
|
||||||
|
|
||||||
The directives provided by the language-specific services for the C programming language manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{setlocale} -
|
|
||||||
@item @code{fileno} -
|
|
||||||
@item @code{fdopen} -
|
|
||||||
@item @code{flcokfile} -
|
|
||||||
@item @code{ftrylockfile} -
|
|
||||||
@item @code{funlockfile} -
|
|
||||||
@item @code{getc_unlocked} -
|
|
||||||
@item @code{getchar_unlocked} -
|
|
||||||
@item @code{putc_unlocked} -
|
|
||||||
@item @code{putchar_unlocked} -
|
|
||||||
@item @code{setjmp} -
|
|
||||||
@item @code{longjmp} -
|
|
||||||
@item @code{sigsetjmp} -
|
|
||||||
@item @code{siglongjmp} -
|
|
||||||
@item @code{tzset} -
|
|
||||||
@item @code{strtok_r} -
|
|
||||||
@item @code{asctime_r} -
|
|
||||||
@item @code{ctime_r} -
|
|
||||||
@item @code{gmtime_r} -
|
|
||||||
@item @code{localtime_r} -
|
|
||||||
@item @code{rand_r} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the language-specific services for the C programming language manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setlocale -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setlocale(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection fileno -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int fileno(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection fdopen -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int fdopen(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection flcokfile -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int flcokfile(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection ftrylockfile -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int ftrylockfile(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection funlockfile -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int funlockfile(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getc_unlocked -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getc_unlocked(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getchar_unlocked -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getchar_unlocked(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection putc_unlocked -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int putc_unlocked(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection putchar_unlocked -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int putchar_unlocked(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setjmp -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setjmp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection longjmp -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int longjmp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigsetjmp -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sigsetjmp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection siglongjmp -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int siglongjmp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tzset -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tzset(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection strtok_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int strtok_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection asctime_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int asctime_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection ctime_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int ctime_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection gmtime_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int gmtime_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection localtime_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int localtime_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection rand_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int rand_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,465 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Device- and Class- Specific Functions Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The device- and class- specific functions manager is ...
|
|
||||||
|
|
||||||
The directives provided by the device- and class- specific functions
|
|
||||||
manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{cfgetispeed} - Reads terminal input baud rate
|
|
||||||
@item @code{cfgetospeed} - Reads terminal output baud rate
|
|
||||||
@item @code{cfsetispeed} - Sets terminal input baud rate
|
|
||||||
@item @code{cfsetospeed} - Set terminal output baud rate
|
|
||||||
@item @code{tcgetattr} - Gets terminal attributes
|
|
||||||
@item @code{tcsetattr} - Set terminal attributes
|
|
||||||
@item @code{tcsendbreak} - Sends a break to a terminal
|
|
||||||
@item @code{tcdrain} - Waits for all output to be transmitted to the terminal
|
|
||||||
@item @code{tcflush} - Discards terminal data
|
|
||||||
@item @code{tcflow} - Suspends/restarts terminal output
|
|
||||||
@item @code{tcgetpgrp} - Gets foreground process group ID
|
|
||||||
@item @code{tcsetpgrp} - Sets foreground process group ID
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the device- and class- specific functions manager's
|
|
||||||
directives. A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection cfgetispeed - Reads terminal input baud rate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
|
|
||||||
int cfgetispeed(
|
|
||||||
const struct termios *p
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
The @code{cfgetispeed()} function returns a code for baud rate.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{cfsetispeed()} function stores a code for the terminal speed
|
|
||||||
stored in a struct termios. The codes are defined in @code{<termios.h>}
|
|
||||||
by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
|
|
||||||
B1800, B2400, B4800, B9600, B19200, and B38400.
|
|
||||||
|
|
||||||
The @code{cfsetispeed()} function does not do anything to the hardware.
|
|
||||||
It merely stores a value for use by @code{tcsetattr()}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
|
|
||||||
number returned for any given speed may change from system to system.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection cfgetospeed - Reads terminal output baud rate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
|
|
||||||
int cfgetospeed(
|
|
||||||
const struct termios *p
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
The @code{cfgetospeed()} function returns the termios code for the baud rate.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{cfgetospeed()} function returns a code for the terminal speed
|
|
||||||
stored in a @code{struct termios}. The codes are defined in @code{<termios.h>}
|
|
||||||
by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800,
|
|
||||||
B2400, B4800, B9600, B19200, and B38400.
|
|
||||||
|
|
||||||
The @code{cfgetospeed()} function does not do anything to the hardware.
|
|
||||||
It merely returns the value stored by a previous call to @code{tcgetattr()}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
|
|
||||||
number returned for any given speed may change from system to system.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection cfsetispeed - Sets terminal input baud rate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
|
|
||||||
int cfsetispeed(
|
|
||||||
struct termios *p,
|
|
||||||
speed_t speed
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
The @code{cfsetispeed()} function returns a zero when successful and
|
|
||||||
returns -1 when an error occurs.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{cfsetispeed()} function stores a code for the terminal speed
|
|
||||||
stored in a struct termios. The codes are defined in @code{<termios.h>}
|
|
||||||
by the macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
|
|
||||||
B1800, B2400, B4800, B9600, B19200, and B38400.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This function merely stores a value in the @code{termios} structure. It
|
|
||||||
does not change the terminal speed until a @code{tcsetattr()} is done.
|
|
||||||
It does not detect impossible terminal speeds.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection cfsetospeed - Sets terminal output baud rate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
|
|
||||||
int cfsetospeed(
|
|
||||||
struct termios *p,
|
|
||||||
speed_t speed
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
The @code{cfsetospeed()} function returns a zero when successful and
|
|
||||||
returns -1 when an error occurs.
|
|
||||||
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{cfsetospeed()} function stores a code for the terminal speed stored
|
|
||||||
in a struct @code{termios}. The codes are defiined in @code{<termios.h>} by the
|
|
||||||
macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800, B2400,
|
|
||||||
B4800, B9600, B19200, and B38400.
|
|
||||||
|
|
||||||
The @code{cfsetospeed()} function does not do anything to the hardware. It
|
|
||||||
merely stores a value for use by @code{tcsetattr()}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This function merely stores a value in the @code{termios} structure.
|
|
||||||
It does not change the terminal speed until a @code{tcsetattr()} is done.
|
|
||||||
It does not detect impossible terminal speeds.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcgetattr - Gets terminal attributes
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int tcgetattr(
|
|
||||||
int fildes,
|
|
||||||
struct termios *p
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EBADF
|
|
||||||
Invalid file descriptor
|
|
||||||
|
|
||||||
@item ENOOTY
|
|
||||||
Terminal control function attempted for a file that is not a terminal.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{tcgetattr()} gets the parameters associated with the terminal
|
|
||||||
referred to by @code{fildes} and stores them into the @code{termios()}
|
|
||||||
structure pointed to by @code{termios_p}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcsetattr - Set terminal attributes
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int tcsetattr(
|
|
||||||
int fildes,
|
|
||||||
int options,
|
|
||||||
const struct termios *tp
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcsendbreak - Sends a break to a terminal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tcsendbreak(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine is not currently supported by RTEMS but could be
|
|
||||||
in a future version.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcdrain - Waits for all output to be transmitted to the terminal.
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <termios.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int tcdrain(
|
|
||||||
int fildes
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EBADF
|
|
||||||
Invalid file descriptor
|
|
||||||
|
|
||||||
@item EINTR
|
|
||||||
Function was interrupted by a signal
|
|
||||||
|
|
||||||
@item ENOTTY
|
|
||||||
Terminal control function attempted for a file that is not a terminal.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{tcdrain()} function waits until all output written to
|
|
||||||
@code{fildes} has been transmitted.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcflush - Discards terminal data
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tcflush(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine is not currently supported by RTEMS but could be
|
|
||||||
in a future version.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcflow - Suspends/restarts terminal output.
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tcflow(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine is not currently supported by RTEMS but could be
|
|
||||||
in a future version.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcgetpgrp - Gets foreground process group ID
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tcgetpgrp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine is not currently supported by RTEMS but could be
|
|
||||||
in a future version.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection tcsetpgrp - Sets foreground process group ID
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int tcsetpgrp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
This routine is not currently supported by RTEMS but could be
|
|
||||||
in a future version.
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,140 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Key Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The key manager ...
|
|
||||||
|
|
||||||
The directives provided by the key manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{pthread_key_create} -
|
|
||||||
@item @code{pthread_key_delete} -
|
|
||||||
@item @code{pthread_setspecific} -
|
|
||||||
@item @code{pthread_getspecific} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the key manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_key_create
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_key_create(
|
|
||||||
pthread_key_t *key,
|
|
||||||
void (*destructor)( void * )
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EAGAIN
|
|
||||||
There were not enough resources available to create another key.
|
|
||||||
|
|
||||||
@item ENOMEM
|
|
||||||
Insufficient memory exists to create the key.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_key_delete
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_key_delete(
|
|
||||||
pthread_key_t key,
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The key was invalid
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_setspecific
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_setspecific(
|
|
||||||
pthread_key_t key,
|
|
||||||
const void *value
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified key is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_getspecific
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
void *pthread_getspecific(
|
|
||||||
pthread_key_t key
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item NULL
|
|
||||||
There is no thread-specific data associated with the specified key.
|
|
||||||
|
|
||||||
@item non-NULL
|
|
||||||
The data associated with the specified key.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,315 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Memory Management Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
memory management manager is ...
|
|
||||||
|
|
||||||
The directives provided by the memory management manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{mlockall} -
|
|
||||||
@item @code{munlockall} -
|
|
||||||
@item @code{mlock} -
|
|
||||||
@item @code{munlock} -
|
|
||||||
@item @code{mmap} -
|
|
||||||
@item @code{munmap} -
|
|
||||||
@item @code{mprotect} -
|
|
||||||
@item @code{msync} -
|
|
||||||
@item @code{shm_open} -
|
|
||||||
@item @code{shm_unlink} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the memory management manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mlockall -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mlockall(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection munlockall -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int munlockall(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mlock -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mlock(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection munlock -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int munlock(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mmap -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mmap(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection munmap -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int munmap(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mprotect -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mprotect(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection msync -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int msync(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection shm_open -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int shm_open(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection shm_unlink -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int shm_unlink(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,259 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Message Passing Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
message passing manager is ...
|
|
||||||
|
|
||||||
The directives provided by the message passing manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{mq_open} -
|
|
||||||
@item @code{mq_close} -
|
|
||||||
@item @code{mq_unlink} -
|
|
||||||
@item @code{mq_send} -
|
|
||||||
@item @code{mq_receive} -
|
|
||||||
@item @code{mq_notify} -
|
|
||||||
@item @code{mq_setattr} -
|
|
||||||
@item @code{mq_getattr} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the message passing manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_open -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_open(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_close -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_close(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_unlink -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_unlink(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_send -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_send(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_receive -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_receive(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_notify -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_notify(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_setattr -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_setattr(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection mq_getattr -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int mq_getattr(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,555 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Mutex Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The mutex manager ...
|
|
||||||
|
|
||||||
The directives provided by the mutex manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{pthread_mutexattr_init} -
|
|
||||||
@item @code{pthread_mutexattr_destroy} -
|
|
||||||
@item @code{pthread_mutexattr_setprotocol} -
|
|
||||||
@item @code{pthread_mutexattr_getprotocol} -
|
|
||||||
@item @code{pthread_mutexattr_setprioceiling} -
|
|
||||||
@item @code{pthread_mutexattr_getprioceiling} -
|
|
||||||
@item @code{pthread_mutexattr_setpshared} -
|
|
||||||
@item @code{pthread_mutexattr_getpshared} -
|
|
||||||
@item @code{pthread_mutex_init} -
|
|
||||||
@item @code{pthread_mutex_destroy} -
|
|
||||||
@item @code{pthread_mutex_lock} -
|
|
||||||
@item @code{pthread_mutex_trylock} -
|
|
||||||
@item @code{pthread_mutex_timedlock} -
|
|
||||||
@item @code{pthread_mutex_unlock} -
|
|
||||||
@item @code{pthread_mutex_setprioceiling} -
|
|
||||||
@item @code{pthread_mutex_getprioceiling} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the mutex manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_init
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_init(
|
|
||||||
pthread_mutexattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_destroy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_destroy(
|
|
||||||
pthread_mutexattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_setprotocol
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_setprotocol(
|
|
||||||
pthread_mutexattr_t *attr,
|
|
||||||
int protocol
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The protocol argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_getprotocol
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_getprotocol(
|
|
||||||
pthread_mutexattr_t *attr,
|
|
||||||
int *protocol
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The protocol pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_setprioceiling
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_setprioceiling(
|
|
||||||
pthread_mutexattr_t *attr,
|
|
||||||
int prioceiling
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The prioceiling argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_getprioceiling
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_getprioceiling(
|
|
||||||
const pthread_mutexattr_t *attr,
|
|
||||||
int *prioceiling
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The prioceiling pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_setpshared
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_setpshared(
|
|
||||||
pthread_mutexattr_t *attr,
|
|
||||||
int pshared
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The pshared argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutexattr_getpshared
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutexattr_getpshared(
|
|
||||||
const pthread_mutexattr_t *attr,
|
|
||||||
int *pshared
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The pshared pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_init
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_init(
|
|
||||||
pthread_mutex_t *mutex,
|
|
||||||
const pthread_mutexattr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified protocol is invalid.
|
|
||||||
|
|
||||||
@item EAGAIN
|
|
||||||
The system lacked the necessary resources to initialize another mutex.
|
|
||||||
|
|
||||||
@item ENOMEM
|
|
||||||
Insufficient memory exists to initialize the mutex.
|
|
||||||
|
|
||||||
@item EBUSY
|
|
||||||
Attempted to reinialize the object reference by mutex, a previously
|
|
||||||
initialized, but not yet destroyed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_destroy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_destroy(
|
|
||||||
pthread_mutex_t *mutex
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@item EBUSY
|
|
||||||
Attempted to destroy the object reference by mutex, while it is locked or
|
|
||||||
referenced by another thread.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_lock
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_lock(
|
|
||||||
pthread_mutex_t *mutex
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
|
|
||||||
priority of the calling thread is higher than the current priority
|
|
||||||
ceiling.
|
|
||||||
|
|
||||||
@item EDEADLK
|
|
||||||
The current thread already owns the mutex.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_trylock
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_trylock(
|
|
||||||
pthread_mutex_t *mutex
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
|
|
||||||
priority of the calling thread is higher than the current priority
|
|
||||||
ceiling.
|
|
||||||
|
|
||||||
@item EDEADLK
|
|
||||||
The current thread already owns the mutex.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_timedlock
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
int pthread_mutex_timedlock(
|
|
||||||
pthread_mutex_t *mutex,
|
|
||||||
const struct timespec *timeout
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The nanoseconds field of timeout is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The mutex has the protocol attribute of PTHREAD_PRIO_PROTECT and the
|
|
||||||
priority of the calling thread is higher than the current priority
|
|
||||||
ceiling.
|
|
||||||
|
|
||||||
@item EDEADLK
|
|
||||||
The current thread already owns the mutex.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_unlock
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_unlock(
|
|
||||||
pthread_mutex_t *mutex
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_setprioceiling
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_setprioceiling(
|
|
||||||
pthread_mutex_t *mutex,
|
|
||||||
int prioceiling,
|
|
||||||
int *oldceiling
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The oldceiling pointer parameter is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The prioceiling parameter is an invalid priority.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_mutex_getprioceiling
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_mutex_getprioceiling(
|
|
||||||
pthread_mutex_t *mutex,
|
|
||||||
int *prioceiling
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The prioceiling pointer parameter is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified mutex is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@ifinfo
|
|
||||||
@node Preface, , Top, Top
|
|
||||||
@end ifinfo
|
|
||||||
@unnumbered Preface
|
|
||||||
|
|
||||||
This is the User's Guide for the POSIX API support
|
|
||||||
provided in RTEMS.
|
|
||||||
|
|
||||||
The functionality described in this document is based
|
|
||||||
on the following standards:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
|
|
||||||
@item POSIX 1003.1b-1993.
|
|
||||||
|
|
||||||
@item POSIX 1003.1h/D3.
|
|
||||||
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
Much of the POSIX API standard is actually implemented in the
|
|
||||||
Cygnus Newlib ANSI C Library. Please refer to documentation on
|
|
||||||
Newlib for more information on what it supplies.
|
|
||||||
|
|
||||||
At this point, this is just beginning to become what it
|
|
||||||
ultimately should be.
|
|
||||||
|
|
||||||
@@ -1,654 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Process Environment Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
process environment manager is ...
|
|
||||||
|
|
||||||
The directives provided by the process environment manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{getpid} -
|
|
||||||
@item @code{getppid} -
|
|
||||||
@item @code{getuid} -
|
|
||||||
@item @code{geteuid} -
|
|
||||||
@item @code{getgid} -
|
|
||||||
@item @code{getegid} -
|
|
||||||
@item @code{setuid} -
|
|
||||||
@item @code{setgid} -
|
|
||||||
@item @code{getgroups} -
|
|
||||||
@item @code{getlogin} -
|
|
||||||
@item @code{getlogin_r} -
|
|
||||||
@item @code{getpgrp} -
|
|
||||||
@item @code{setsid} -
|
|
||||||
@item @code{setpgid} -
|
|
||||||
@item @code{uname} -
|
|
||||||
@item @code{times} - Get process times
|
|
||||||
@item @code{getenv} -
|
|
||||||
@item @code{ctermid} -
|
|
||||||
@item @code{ttyname} -
|
|
||||||
@item @code{ttyname_r} -
|
|
||||||
@item @code{isatty} -
|
|
||||||
@item @code{sysconf} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the process environment manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getppid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getppid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getuid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getuid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection geteuid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int geteuid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getegid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getegid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setuid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setuid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setgid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setgid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgroups -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgroups(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getlogin -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getlogin(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getlogin_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getlogin_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpgrp -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpgrp(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setsid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setsid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection setpgid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int setpgid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection uname -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int uname(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection times - Get process times
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sys/time.h>
|
|
||||||
|
|
||||||
clock_t times(
|
|
||||||
struct tms *buf
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This routine returns the process times
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@code{times} stores the current process times in @code{buf}.
|
|
||||||
|
|
||||||
@code{struct tms} is as defined in @code{/usr/include/sys/times.h}
|
|
||||||
|
|
||||||
@code{times} returns the number of clock ticks that have elapsed
|
|
||||||
since the systm has been up.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getenv -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getenv(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection ctermid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int ctermid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection ttyname -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int ttyname(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection ttyname_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int ttyname_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection isatty -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int isatty(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sysconf -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sysconf(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,414 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Process Creation and Execution Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The process creation and execution manager is ...
|
|
||||||
|
|
||||||
The directives provided by the process creation and execution manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{fork} - Create a Process
|
|
||||||
@item @code{execl} - Execute a File
|
|
||||||
@item @code{execv} - Execute a File
|
|
||||||
@item @code{execle} - Execute a File
|
|
||||||
@item @code{execve} - Execute a File
|
|
||||||
@item @code{execlp} - Execute a File
|
|
||||||
@item @code{execvp} - Execute a File
|
|
||||||
@item @code{pthread_atfork} - Register Fork Handlers
|
|
||||||
@item @code{wait} - Wait for Process Termination
|
|
||||||
@item @code{waitpid} - Wait for Process Termination
|
|
||||||
@item @code{_exit} - Terminate a Process
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the process creation and execution manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection fork - Create a Process
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
int fork( void );
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execl - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execl(
|
|
||||||
const char *path,
|
|
||||||
const char *arg,
|
|
||||||
...
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execv - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execv(
|
|
||||||
const char *path,
|
|
||||||
char const *argv[],
|
|
||||||
...
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execle - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execle(
|
|
||||||
const char *path,
|
|
||||||
const char *arg,
|
|
||||||
...
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execve - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execve(
|
|
||||||
const char *path,
|
|
||||||
char *const argv[],
|
|
||||||
char *const envp[]
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execlp - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execlp(
|
|
||||||
const char *file,
|
|
||||||
const char *arg,
|
|
||||||
...
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection execvp - Execute a File
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int execvp(
|
|
||||||
const char *file,
|
|
||||||
char *const argv[]
|
|
||||||
...
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_atfork - Register Fork Handlers
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
int pthread_atfork(
|
|
||||||
void (*prepare)(void),
|
|
||||||
void (*parent)(void),
|
|
||||||
void (*child)(void)
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection wait - Wait for Process Termination
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
|
|
||||||
int wait(
|
|
||||||
int *stat_loc
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection waitpid - Wait for Process Termination
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int wait(
|
|
||||||
pid_t pid,
|
|
||||||
int *stat_loc,
|
|
||||||
int options
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ENOSYS
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This routine is not supported by RTEMS.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection _exit - Terminate a Process
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
void _exit(
|
|
||||||
int status
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
The @code{_exit()} function terminates the calling process.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
In RTEMS, a process is equivalent to the entire application on a single
|
|
||||||
processor. Invoking this service terminates the application.
|
|
||||||
@@ -1,175 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Scheduler Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The scheduler manager ...
|
|
||||||
|
|
||||||
The directives provided by the scheduler manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{sched_get_priority_min} -
|
|
||||||
@item @code{sched_get_priority_max} -
|
|
||||||
@item @code{sched_rr_get_interval} -
|
|
||||||
@item @code{sched_yield} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
@subsection Priority
|
|
||||||
|
|
||||||
In the RTEMS implementation of the POSIX API, the priorities range from
|
|
||||||
the low priority of sched_get_priority_min() to the highest priority of
|
|
||||||
sched_get_priority_max(). Numerically higher values represent higher
|
|
||||||
priorities.
|
|
||||||
|
|
||||||
@subsection Scheduling Policies
|
|
||||||
|
|
||||||
The following scheduling policies are available:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item SCHED_FIFO
|
|
||||||
Priority-based, preemptive scheduling with no timeslicing. This is equivalent
|
|
||||||
to what is called "manual round-robin" scheduling.
|
|
||||||
|
|
||||||
@item SCHED_RR
|
|
||||||
Priority-based, preemptive scheduling with timeslicing. Time quantums are
|
|
||||||
maintained on a per-thread basis and are not reset at each context switch.
|
|
||||||
Thus, a thread which is preempted and subsequently resumes execution will
|
|
||||||
attempt to complete the unused portion of its time quantum.
|
|
||||||
|
|
||||||
@item SCHED_OTHER
|
|
||||||
Priority-based, preemptive scheduling with timeslicing. Time quantums are
|
|
||||||
maintained on a per-thread basis and are reset at each context switch.
|
|
||||||
|
|
||||||
@item SCHED_SPORADIC
|
|
||||||
Priority-based, preemptive scheduling utilizing three additional parameters:
|
|
||||||
budget, replenishment period, and low priority. Under this policy, the
|
|
||||||
thread is allowed to execute for "budget" amount of time before its priority
|
|
||||||
is lowered to "low priority". At the end of each replenishment period,
|
|
||||||
the thread resumes its initial priority and has its budget replenished.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the scheduler manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sched_get_priority_min
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sched.h>
|
|
||||||
|
|
||||||
int sched_get_priority_min(
|
|
||||||
int policy
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The indicated policy is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sched_get_priority_max
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sched.h>
|
|
||||||
|
|
||||||
int sched_get_priority_max(
|
|
||||||
int policy
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The indicated policy is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sched_rr_get_interval
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sched.h>
|
|
||||||
|
|
||||||
int sched_rr_get_interval(
|
|
||||||
pid_t pid,
|
|
||||||
struct timespec *interval
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets errno to one of the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item ESRCH
|
|
||||||
The indicated process id is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified interval pointer parameter is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sched_yield
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sched.h>
|
|
||||||
|
|
||||||
int sched_yield( void );
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This routine always returns zero to indicate success.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,287 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Semaphores Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
semaphore manager is ...
|
|
||||||
|
|
||||||
The directives provided by the semaphore manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{sem_init} -
|
|
||||||
@item @code{sem_destroy} -
|
|
||||||
@item @code{sem_open} -
|
|
||||||
@item @code{sem_close} -
|
|
||||||
@item @code{sem_unlink} -
|
|
||||||
@item @code{sem_wait} -
|
|
||||||
@item @code{sem_trywait} -
|
|
||||||
@item @code{sem_post} -
|
|
||||||
@item @code{sem_getvalue} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the semaphore manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_init -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_init(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_destroy -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_destroy(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_open -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_open(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_close -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_close(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_unlink -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_unlink(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_wait -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_wait(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_trywait -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_trywait(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_post -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_post(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sem_getvalue -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int sem_getvalue(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,728 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Signal Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The signal manager ...
|
|
||||||
|
|
||||||
The directives provided by the signal manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{sigaddset} - Add a Signal to a Signal Set
|
|
||||||
@item @code{sigdelset} - Delete a Signal from a Signal Set
|
|
||||||
@item @code{sigfillset} - Fill a Signal Set
|
|
||||||
@item @code{sigismember} - Is Signal a Member of a Signal Set
|
|
||||||
@item @code{sigemptyset} - Empty a Signal Set
|
|
||||||
@item @code{sigaction} - Examine and Change Signal Action
|
|
||||||
@item @code{pthread_kill} - Send a Signal to a Thread
|
|
||||||
@item @code{sigprocmask} - Examine and Change Process Blocked Signals
|
|
||||||
@item @code{pthread_sigmask} - Examine and Change Thread Blocked Signals
|
|
||||||
@item @code{kill} - Send a Signal to a Process
|
|
||||||
@item @code{sigpending} - Examine Pending Signals
|
|
||||||
@item @code{sigsuspend} - Wait for a Signal
|
|
||||||
@item @code{pause} - Suspend Process Execution
|
|
||||||
@item @code{sigwait} - Synchronously Accept a Signal
|
|
||||||
@item @code{sigwaitinfo} - Synchronously Accept a Signal
|
|
||||||
@item @code{sigtimedwait} - Synchronously Accept a Signal with Timeout
|
|
||||||
@item @code{sigqueue} - Queue a Signal to a Process
|
|
||||||
@item @code{alarm} - Schedule Alarm
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
@subsection Signal Delivery
|
|
||||||
|
|
||||||
Signals directed at a thread are delivered to the specified thread.
|
|
||||||
|
|
||||||
Signals directed at a process are delivered to a thread which is selected
|
|
||||||
based on the following algorithm:
|
|
||||||
|
|
||||||
@enumerate
|
|
||||||
@item If the action for this signal is currently @code{SIG_IGN},
|
|
||||||
then the signal is simply ignored.
|
|
||||||
|
|
||||||
@item If the currently executing thread has the signal unblocked, then
|
|
||||||
the signal is delivered to it.
|
|
||||||
|
|
||||||
@item If any threads are currently blocked waiting for this signal
|
|
||||||
(@code{sigwait()}), then the signal is delivered to the highest priority
|
|
||||||
thread waiting for this signal.
|
|
||||||
|
|
||||||
@item If any other threads are willing to accept delivery of the signal, then
|
|
||||||
the signal is delivered to the highest priority thread of this set. In the
|
|
||||||
event, multiple threads of the same priority are willing to accept this
|
|
||||||
signal, then priority is given first to ready threads, then to threads
|
|
||||||
blocked on calls which may be interrupted, and finally to threads blocked
|
|
||||||
on non-interruptible calls.
|
|
||||||
|
|
||||||
@item In the event the signal still can not be delivered, then it is left
|
|
||||||
pending. The first thread to unblock the signal (@code{sigprocmask()} or
|
|
||||||
@code{pthread_sigprocmask()}) or to wait for this signal
|
|
||||||
(@code{sigwait()}) will be the recipient of the signal.
|
|
||||||
|
|
||||||
@end enumerate
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the signal manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigaddset - Add a Signal to a Signal Set
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigaddset(
|
|
||||||
sigset_t *set,
|
|
||||||
int signo
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function adds the @code{signo} to the specified signal @code{set}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigdelset - Delete a Signal from a Signal Set
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigdelset(
|
|
||||||
sigset_t *set,
|
|
||||||
int signo
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function deletes the @code{signo} to the specified signal @code{set}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigfillset - Fill a Signal Set
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigfillset(
|
|
||||||
sigset_t *set
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function fills the specified signal @code{set} such that all
|
|
||||||
signals are set.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigismember - Is Signal a Member of a Signal Set
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigismember(
|
|
||||||
const sigset_t *set,
|
|
||||||
int signo
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function returns returns 1 if @code{signo} is a member of @code{set}
|
|
||||||
and 0 otherwise.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigemptyset - Empty a Signal Set
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigemptyset(
|
|
||||||
sigset_t *set
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function fills the specified signal @code{set} such that all
|
|
||||||
signals are cleared.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigaction - Examine and Change Signal Action
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigaction(
|
|
||||||
int sig,
|
|
||||||
const struct sigaction *act,
|
|
||||||
struct sigaction *oact
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@item ENOTSUP
|
|
||||||
Realtime Signals Extension option not supported.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function is used to change the action taken by a process on
|
|
||||||
receipt of the specfic signal @code{sig}. The new action is
|
|
||||||
specified by @code{act} and the previous action is returned
|
|
||||||
via @code{oact}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
The signal number cannot be SIGKILL.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_kill - Send a Signal to a Thread
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int pthread_kill(
|
|
||||||
pthread_t thread,
|
|
||||||
int sig
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item ESRCH
|
|
||||||
The thread indicated by the parameter thread is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This functions sends the specified signal @code{sig} to @code{thread}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigprocmask - Examine and Change Process Blocked Signals
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigprocmask(
|
|
||||||
int how,
|
|
||||||
const sigset_t *set,
|
|
||||||
sigset_t *oset
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function is used to alter the set of currently blocked signals
|
|
||||||
on a process wide basis. A blocked signal will not be received by the
|
|
||||||
process. The behavior of this function is dependent on the value of
|
|
||||||
@code{how} which may be one of the following:
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
|
|
||||||
@item SIG_BLOCK
|
|
||||||
The set of blocked signals is set to the union of @code{set} and
|
|
||||||
those signals currently blocked.
|
|
||||||
|
|
||||||
@item SIG_UNBLOCK
|
|
||||||
The signals specific in @code{set} are removed from the currently
|
|
||||||
blocked set.
|
|
||||||
|
|
||||||
@item SIG_SETMASK
|
|
||||||
The set of currently blocked signals is set to @code{set}.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
If @code{oset} is not @code{NULL}, then the set of blocked signals
|
|
||||||
prior to this call is returned in @code{oset}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
It is not an error to unblock a signal which is not blocked.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_sigmask - Examine and Change Thread Blocked Signals
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int pthread_sigmask(
|
|
||||||
int how,
|
|
||||||
const sigset_t *set,
|
|
||||||
sigset_t *oset
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function is used to alter the set of currently blocked signals
|
|
||||||
for the calling thread. A blocked signal will not be received by the
|
|
||||||
process. The behavior of this function is dependent on the value of
|
|
||||||
@code{how} which may be one of the following:
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@item SIG_BLOCK
|
|
||||||
The set of blocked signals is set to the union of @code{set} and
|
|
||||||
those signals currently blocked.
|
|
||||||
|
|
||||||
@item SIG_UNBLOCK
|
|
||||||
The signals specific in @code{set} are removed from the currently
|
|
||||||
blocked set.
|
|
||||||
|
|
||||||
@item SIG_SETMASK
|
|
||||||
The set of currently blocked signals is set to @code{set}.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
If @code{oset} is not @code{NULL}, then the set of blocked signals
|
|
||||||
prior to this call is returned in @code{oset}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
It is not an error to unblock a signal which is not blocked.
|
|
||||||
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection kill - Send a Signal to a Process
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int kill(
|
|
||||||
pid_t pid,
|
|
||||||
int sig
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@item EPERM
|
|
||||||
Process does not have permission to send the signal to any receiving process.
|
|
||||||
|
|
||||||
@item ESRCH
|
|
||||||
The process indicated by the parameter pid is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function sends the signal @code{sig} to the process @code{pid}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigpending - Examine Pending Signals
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigpending(
|
|
||||||
const sigset_t *set
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets @code{errno} to one of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EFAULT
|
|
||||||
Invalid address for set.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function allows the caller to examine the set of currently pending
|
|
||||||
signals. A pending signal is one which has been raised but is currently
|
|
||||||
blocked. The set of pending signals is returned in @code{set}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigsuspend - Wait for a Signal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigsuspend(
|
|
||||||
const sigset_t *sigmask
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets @code{errno} to one of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINTR
|
|
||||||
Signal interrupted this function.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function temporarily replaces the signal mask for the process
|
|
||||||
with that specified by @code{sigmask} and blocks the calling thread
|
|
||||||
until the signal is raised.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pause - Suspend Process Execution
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int pause( void );
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
On error, this routine returns -1 and sets @code{errno} to one of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINTR
|
|
||||||
Signal interrupted this function.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function causes the calling thread to be blocked until the signal
|
|
||||||
is received.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigwait - Synchronously Accept a Signal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigwait(
|
|
||||||
const sigset_t *set,
|
|
||||||
int *sig
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@item EINTR
|
|
||||||
Signal interrupted this function.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function selects a pending signal based on the set specified in
|
|
||||||
@code{set}, atomically clears it from the set of pending signals, and
|
|
||||||
returns the signal number for that signal in @code{sig}.
|
|
||||||
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigwaitinfo - Synchronously Accept a Signal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigwaitinfo(
|
|
||||||
const sigset_t *set,
|
|
||||||
siginfo_t *info
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINTR
|
|
||||||
Signal interrupted this function.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function selects a pending signal based on the set specified in
|
|
||||||
@code{set}, atomically clears it from the set of pending signals, and
|
|
||||||
returns information about that signal in @code{info}.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigtimedwait - Synchronously Accept a Signal with Timeout
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigtimedwait(
|
|
||||||
const sigset_t *set,
|
|
||||||
siginfo_t *info,
|
|
||||||
const struct timespec *timeout
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EAGAIN
|
|
||||||
Timed out while waiting for the specified signal set.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Nanoseconds field of the timeout argument is invalid.
|
|
||||||
|
|
||||||
@item EINTR
|
|
||||||
Signal interrupted this function.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function selects a pending signal based on the set specified in
|
|
||||||
@code{set}, atomically clears it from the set of pending signals, and
|
|
||||||
returns information about that signal in @code{info}. The calling thread
|
|
||||||
will block up to @code{timeout} waiting for the signal to arrive.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
If @code{timeout} is NULL, then the calling thread will wait forever for
|
|
||||||
the specified signal set.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection sigqueue - Queue a Signal to a Process
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
int sigqueue(
|
|
||||||
pid_t pid,
|
|
||||||
int signo,
|
|
||||||
const union sigval value
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EAGAIN
|
|
||||||
No resources available to queue the signal. The process has already
|
|
||||||
queued SIGQUEUE_MAX signals that are still pending at the receiver
|
|
||||||
or the systemwide resource limit has been exceeded.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The value of the signo argument is an invalid or unsupported signal
|
|
||||||
number.
|
|
||||||
|
|
||||||
@item EPERM
|
|
||||||
The process does not have the appropriate privilege to send the signal
|
|
||||||
to the receiving process.
|
|
||||||
|
|
||||||
@item ESRCH
|
|
||||||
The process pid does not exist.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
This function sends the signal specified by @code{signo} to the
|
|
||||||
process @code{pid}
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection alarm - Schedule Alarm
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
unsigned int alarm(
|
|
||||||
unsigned int seconds
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This call always succeeds.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
If there was a previous @code{alarm()} request with time remaining,
|
|
||||||
then this routine returns the number of seconds until that outstanding
|
|
||||||
alarm would have fired. If no previous @code{alarm()} request was
|
|
||||||
outstanding, then zero is returned.
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
@@ -1,259 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter System Databases Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The
|
|
||||||
system databases manager is ...
|
|
||||||
|
|
||||||
The directives provided by the system databases manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{getgrgid} -
|
|
||||||
@item @code{getgrgid_r} -
|
|
||||||
@item @code{getgrnam} -
|
|
||||||
@item @code{getgrnam_r} -
|
|
||||||
@item @code{getpwuid} -
|
|
||||||
@item @code{getpwuid_r} -
|
|
||||||
@item @code{getpwnam} -
|
|
||||||
@item @code{getpwnam_r} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the system databases manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgrgid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgrgid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgrgid_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgrgid_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgrnam -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgrnam(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getgrnam_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getgrnam_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpwuid -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpwuid(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpwuid_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpwuid_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpwnam -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpwnam(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection getpwnam_r -
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@ifset is-C
|
|
||||||
@example
|
|
||||||
int getpwnam_r(
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@ifset is-Ada
|
|
||||||
@end ifset
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item E
|
|
||||||
The
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@@ -1,892 +0,0 @@
|
|||||||
@c
|
|
||||||
@c COPYRIGHT (c) 1988-1998.
|
|
||||||
@c On-Line Applications Research Corporation (OAR).
|
|
||||||
@c All rights reserved.
|
|
||||||
@c
|
|
||||||
@c $Id$
|
|
||||||
@c
|
|
||||||
|
|
||||||
@chapter Thread Manager
|
|
||||||
|
|
||||||
@section Introduction
|
|
||||||
|
|
||||||
The thread manager ...
|
|
||||||
|
|
||||||
The directives provided by the thread manager are:
|
|
||||||
|
|
||||||
@itemize @bullet
|
|
||||||
@item @code{pthread_attr_init} -
|
|
||||||
@item @code{pthread_attr_destroy} -
|
|
||||||
@item @code{pthread_attr_setdetachstate} -
|
|
||||||
@item @code{pthread_attr_getdetachstate} -
|
|
||||||
@item @code{pthread_attr_setstacksize} -
|
|
||||||
@item @code{pthread_attr_getstacksize} -
|
|
||||||
@item @code{pthread_attr_setstackaddr} -
|
|
||||||
@item @code{pthread_attr_getstackaddr} -
|
|
||||||
@item @code{pthread_attr_setscope} -
|
|
||||||
@item @code{pthread_attr_getscope} -
|
|
||||||
@item @code{pthread_attr_setinheritsched} -
|
|
||||||
@item @code{pthread_attr_getinheritsched} -
|
|
||||||
@item @code{pthread_attr_setschedpolicy} -
|
|
||||||
@item @code{pthread_attr_getschedpolicy} -
|
|
||||||
@item @code{pthread_attr_setschedparam} -
|
|
||||||
@item @code{pthread_attr_getschedparam} -
|
|
||||||
@item @code{pthread_create} -
|
|
||||||
@item @code{pthread_exit} -
|
|
||||||
@item @code{pthread_detach} -
|
|
||||||
@item @code{pthread_join} -
|
|
||||||
@item @code{pthread_self} -
|
|
||||||
@item @code{pthread_equal} -
|
|
||||||
@item @code{pthread_once} -
|
|
||||||
@item @code{pthread_setschedparam} -
|
|
||||||
@item @code{pthread_getschedparam} -
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@section Background
|
|
||||||
|
|
||||||
@subsection Thread Attributes
|
|
||||||
|
|
||||||
Thread attributes are utilized only at thread creation time.
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item stack address
|
|
||||||
is the address of the optionally user specified stack area for this thread.
|
|
||||||
If this value is NULL, then RTEMS allocates the memory for the thread stack
|
|
||||||
from the RTEMS Workspace Area. Otherwise, this is the user specified
|
|
||||||
address for the memory to be used for the thread's stack. Each thread must
|
|
||||||
have a distinct stack area. Each processor family has different alignment
|
|
||||||
rules which should be followed.
|
|
||||||
|
|
||||||
@item stack size
|
|
||||||
is the minimum desired size for this thread's stack area.
|
|
||||||
If the size of this area as specified by the stack size attribute
|
|
||||||
is smaller than the minimum for this processor family and the stack
|
|
||||||
is not user specified, then RTEMS will automatically allocate a
|
|
||||||
stack of the minimum size for this processor family.
|
|
||||||
|
|
||||||
@item contention scope
|
|
||||||
specifies the scheduling contention scope. RTEMS only supports the
|
|
||||||
PTHREAD_SCOPE_PROCESS scheduling contention scope.
|
|
||||||
|
|
||||||
@item scheduling inheritance
|
|
||||||
specifies whether a user specified or the scheduling policy and
|
|
||||||
parameters of the currently executing thread are to be used. When
|
|
||||||
this is PTHREAD_INHERIT_SCHED, then the scheduling policy and
|
|
||||||
parameters of the currently executing thread are inherited by
|
|
||||||
the newly created thread.
|
|
||||||
|
|
||||||
@item scheduling policy and parameters
|
|
||||||
specify the manner in which the thread will contend for the processor.
|
|
||||||
The scheduling parameters are interpreted based on the specified policy.
|
|
||||||
All policies utilize the thread priority parameter.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@section Operations
|
|
||||||
|
|
||||||
There is currently no text in this section.
|
|
||||||
|
|
||||||
@section Directives
|
|
||||||
|
|
||||||
This section details the thread manager's directives.
|
|
||||||
A subsection is dedicated to each of this manager's directives
|
|
||||||
and describes the calling sequence, related constants, usage,
|
|
||||||
and status codes.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_init
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_init(
|
|
||||||
pthread_attr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_destroy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_destroy(
|
|
||||||
pthread_attr_t *attr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setdetachstate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setdetachstate(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
int detachstate
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The detachstate argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getdetachstate
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getdetachstate(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
int *detachstate
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The detatchstate pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setstacksize
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setstacksize(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
size_t stacksize
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
If the specified stacksize is below the minimum required for this CPU, then
|
|
||||||
the stacksize will be set to the minimum for this CPU.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getstacksize
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getstacksize(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
size_t *stacksize
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The stacksize pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setstackaddr
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setstackaddr(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
void *stackaddr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getstackaddr
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getstackaddr(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
void **stackaddr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The stackaddr pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setscope
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setscope(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
int contentionscope
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The contention scope specified is not valid.
|
|
||||||
|
|
||||||
@item ENOTSUP
|
|
||||||
The contention scope specified (PTHREAD_SCOPE_SYSTEM) is not supported.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getscope
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getscope(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
int *contentionscope
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The contentionscope pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setinheritsched
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setinheritsched(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
int inheritsched
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduler inheritance argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getinheritsched
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getinheritsched(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
int *inheritsched
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The inheritsched pointer argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setschedpolicy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setschedpolicy(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
int policy
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item ENOTSUP
|
|
||||||
The specified scheduler policy argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getschedpolicy
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getschedpolicy(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
int *policy
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduler policy argument pointer is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_setschedparam
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_setschedparam(
|
|
||||||
pthread_attr_t *attr,
|
|
||||||
const struct sched_param param
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduler parameter argument is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_attr_getschedparam
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_attr_getschedparam(
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
struct sched_param *param
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The attribute pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduler parameter argument pointer is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_create
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_create(
|
|
||||||
pthread_t *thread,
|
|
||||||
const pthread_attr_t *attr,
|
|
||||||
void (*start_routine)( void * ),
|
|
||||||
void *arg
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The attribute set is not initialized.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The user specified a stack address and the size of the area was not
|
|
||||||
large enough to meet this processor's minimum stack requirements.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduler inheritance policy was invalid.
|
|
||||||
|
|
||||||
@item ENOTSUP
|
|
||||||
The specified contention scope was PTHREAD_SCOPE_PROCESS.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified thread priority was invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The specified scheduling policy was invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling policy was SCHED_SPORADIC and the specified replenishment
|
|
||||||
period is less than the initial budget.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling policy was SCHED_SPORADIC and the specified low priority
|
|
||||||
is invalid.
|
|
||||||
|
|
||||||
@item EAGAIN
|
|
||||||
The system lacked the necessary resources to create another thread, or the
|
|
||||||
self imposed limit on the total number of threads in a process
|
|
||||||
PTHREAD_THREAD_MAX would be exceeded.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
Invalid argument passed.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_exit
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
void pthread_exit(
|
|
||||||
void *status
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item NONE
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_detach
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_detach(
|
|
||||||
pthread_t thread
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item ESRCH
|
|
||||||
The thread specified is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The thread specified is not a joinable thread.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
If any threads have previously joined with the specified thread, then they
|
|
||||||
will remain joined with that thread. Any subsequent calls to pthread_join
|
|
||||||
on the specified thread will fail.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_join
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_join(
|
|
||||||
pthread_t thread,
|
|
||||||
void **value_ptr
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
@table @b
|
|
||||||
@item ESRCH
|
|
||||||
The thread specified is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The thread specified is not a joinable thread.
|
|
||||||
|
|
||||||
@item EDEADLK
|
|
||||||
A deadlock was detected or thread is the calling thread.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
If any threads have previously joined with the specified thread, then they
|
|
||||||
will remain joined with that thread. Any subsequent calls to pthread_join
|
|
||||||
on the specified thread will fail.
|
|
||||||
|
|
||||||
If value_ptr is NULL, then no value is returned.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_self
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
pthread_t pthread_self( void );
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
This routine returns the id of the calling thread.
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_equal
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_equal(
|
|
||||||
pthread_t t1,
|
|
||||||
pthread_t t2
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item zero
|
|
||||||
The thread ids are not equal.
|
|
||||||
|
|
||||||
@item non-zero
|
|
||||||
The thread ids are equal.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
The behavior is undefined if the thread IDs are not valid.
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_once
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
pthread_once_t once_control = PTHREAD_ONCE_INIT;
|
|
||||||
|
|
||||||
int pthread_once(
|
|
||||||
pthread_once_t *once_control,
|
|
||||||
void (*init_routine)(void)
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
NONE
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_setschedparam
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_setschedparam(
|
|
||||||
pthread_t thread,
|
|
||||||
int policy,
|
|
||||||
struct sched_param *param
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling parameters indicated by the parameter param is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The value specified by policy is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling policy was SCHED_SPORADIC and the specified replenishment
|
|
||||||
period is less than the initial budget.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling policy was SCHED_SPORADIC and the specified low priority
|
|
||||||
is invalid.
|
|
||||||
|
|
||||||
@item ESRCH
|
|
||||||
The thread indicated was invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
@page
|
|
||||||
@subsection pthread_getschedparam
|
|
||||||
|
|
||||||
@subheading CALLING SEQUENCE:
|
|
||||||
|
|
||||||
@example
|
|
||||||
#include <pthread.h>
|
|
||||||
|
|
||||||
int pthread_getschedparam(
|
|
||||||
pthread_t thread,
|
|
||||||
int *policy,
|
|
||||||
struct sched_param *param
|
|
||||||
);
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@subheading STATUS CODES:
|
|
||||||
|
|
||||||
@table @b
|
|
||||||
@item EINVAL
|
|
||||||
The policy pointer argument is invalid.
|
|
||||||
|
|
||||||
@item EINVAL
|
|
||||||
The scheduling parameters pointer argument is invalid.
|
|
||||||
|
|
||||||
@item ESRCH
|
|
||||||
The thread indicated by the parameter thread is invalid.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@subheading DESCRIPTION:
|
|
||||||
|
|
||||||
@subheading NOTES:
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user