Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
iv_thread(3)		  ivykis programmer's manual		  iv_thread(3)

NAME
       iv_thread_create, iv_thread_set_debug_state - ivykis thread convenience
       functions

SYNOPSIS
       #include	<iv_thread.h>

       int iv_thread_create(const 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 main-
       tain 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 hap-
       pening  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	 argu-
       ment  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 call-
       ing pthread_exit(3), or is successfully canceled	by  pthread_cancel(3),
       and whenever destruction	of such	a thread is signaled back to the call-
       ing 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)

ivykis				  2010-09-13			  iv_thread(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=iv_thread_create&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help