| PTHREAD_CREATE(3) | Library Functions Manual | PTHREAD_CREATE(3) | 
pthread_create —
#include <pthread.h>
int
  
  pthread_create(pthread_t
    * restrict thread, const
    pthread_attr_t * restrict attr,
    void *(*start_routine)(void
    *), void * restrict
    arg);
pthread_create() function is used to create a new
  thread, with attributes specified by attr, within a
  process. If attr is NULL, the
  default attributes are used.
The attributes specified via attr are copied
    into the new thread. Any subsequent modifications to the attributes object
    attr points to will have no effect upon
    already-created threads. It is thus also safe to pass the same
    attr to multiple calls to
    pthread_create().
Upon successful completion
    pthread_create() will store the ID of the created
    thread in the location specified by thread. The thread
    is created executing start_routine with
    arg as its sole argument.
If the start_routine returns, the effect is
    as if there was an implicit call to pthread_exit()
    using the return value of 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:
pthread_create() function will return
  zero. Otherwise an error number will be returned to indicate the error.
pthread_create() shall fail if:
| July 9, 2010 | NetBSD 9.3 |