The
pthread_create ();
function is used to create a new thread, with attributes specified by
Fa attr ,
within a process.
If
Fa attr
is
NULL
the default attributes are used.
If the attributes specified by
Fa attr
are modified later, the thread's attributes are not affected.
Upon
successful completion
pthread_create ();
will store the ID of the created thread in the location specified by
Fa thread .
The thread is created executing
Fa start_routine
with
Fa arg
as its sole argument.
If the
Fa start_routine
returns, the effect is as if there was an implicit call to
pthread_exit ();
using the return value of
Fa start_routine
as the exit status.
Note that the thread in which
main ();
was originally invoked differs from this.
When it returns from
main (,);
the effect is as if there was an implicit call to
exit ();
using the return value of
main ();
as the exit status.
The signal state of the new thread is initialized as:
The signal mask is inherited from the creating thread.
The set of signals pending for the new thread is empty.
RETURN VALUES
If successful, the
pthread_create ();
function will return zero.
Otherwise an error number will be returned to
indicate the error.
ERRORS
The
pthread_create ();
function will fail if:
Bq Er EAGAIN
The system lacked the necessary resources to create another thread, or
the system-imposed limit on the total number of threads in a process
[PTHREAD_THREADS_MAX] would be exceeded.
Bq Er EPERM
The caller does not have appropriate permission to set the required scheduling
parameters or scheduling policy.