Provided by: libivykis-dev_0.36.2-1_amd64 bug

NAME

       iv_thread_create, iv_thread_set_debug_state - ivykis thread convenience functions

SYNOPSIS

       #include <iv_thread.h>

       int iv_thread_create(char *name, void (*start_routine)(void *), void *arg);
       void iv_thread_set_debug_state(int state);

DESCRIPTION

       iv_thread_create  is a wrapper around pthread_create(3) which will maintain an ivykis main loop reference
       in the calling thread (which must be an ivykis(3) thread, i.e. have had iv_init(3) called in it)  for  as
       long as the created thread is alive.

       Maintaining a reference on the calling thread's ivykis event loop makes sure that the calling thread will
       not return from its ivykis main loop before the created thread exits, as that could cause  cleanup  still
       happening in the created thread to be interrupted when the calling thread subsequently calls exit(3).

       The created thread need not be an ivykis thread.

       Enabling  debugging  by calling iv_thread_set_debug with a nonzero argument will print a debug message to
       standard error whenever a thread is created via iv_thread_create, whenever a thread so created terminates
       normally  by  returning  from  its  start_routine,  self-terminates  by  calling  pthread_exit(3),  or is
       successfully canceled by pthread_cancel(3), and whenever destruction of such a thread is signaled back to
       the calling thread.

       For inter-thread signaling, iv_thread uses iv_event(3).

SEE ALSO

       ivykis(3), iv_event(3), exit(3), pthread_cancel(3), pthread_create(3), pthread_exit(3)