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


       iv_thread_create, iv_thread_set_debug_state - ivykis thread convenience functions


       #include <iv_thread.h>

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


       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).


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