mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
47 lines
1.5 KiB
Groff
47 lines
1.5 KiB
Groff
|
.TH PTHREAD_CREATE 3 LinuxThreads
|
||
|
|
||
|
.SH NAME
|
||
|
pthread_create \- create a new thread
|
||
|
|
||
|
.SH SYNOPSIS
|
||
|
#include <pthread.h>
|
||
|
|
||
|
int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg);
|
||
|
|
||
|
.SH DESCRIPTION
|
||
|
!pthread_create! creates a new thread of control that executes
|
||
|
concurrently with the calling thread. The new thread applies the
|
||
|
function |start_routine| passing it |arg| as first argument. The new
|
||
|
thread terminates either explicitly, by calling !pthread_exit!(3),
|
||
|
or implicitly, by returning from the |start_routine| function. The
|
||
|
latter case is equivalent to calling !pthread_exit!(3) with the result
|
||
|
returned by |start_routine| as exit code.
|
||
|
|
||
|
The |attr| argument specifies thread attributes to be applied to the
|
||
|
new thread. See !pthread_attr_init!(3) for a complete list of thread
|
||
|
attributes. The |attr| argument can also be !NULL!, in which case
|
||
|
default attributes are used: the created thread is joinable (not
|
||
|
detached) and has default (non real-time) scheduling policy.
|
||
|
|
||
|
.SH "RETURN VALUE"
|
||
|
On success, the identifier of the newly created thread is stored in
|
||
|
the location pointed by the |thread| argument, and a 0 is returned. On
|
||
|
error, a non-zero error code is returned.
|
||
|
|
||
|
.SH ERRORS
|
||
|
.TP
|
||
|
!EAGAIN!
|
||
|
not enough system resources to create a process for the new thread.
|
||
|
.TP
|
||
|
!EAGAIN!
|
||
|
more than !PTHREAD_THREADS_MAX! threads are already active.
|
||
|
|
||
|
.SH AUTHOR
|
||
|
Xavier Leroy <Xavier.Leroy@inria.fr>
|
||
|
|
||
|
.SH "SEE ALSO"
|
||
|
!pthread_exit!(3),
|
||
|
!pthread_join!(3),
|
||
|
!pthread_detach!(3),
|
||
|
!pthread_attr_init!(3).
|