X-Git-Url: http://git.harvie.cz/?a=blobdiff_plain;f=c%2Fpthread_extra%2Fpthread_extra.h;h=58a98e368750d356664e09395ae89c2b2dc64d19;hb=8df6da88c80f10cb96ed53233ce6c4d414368059;hp=faffb3d7165ee4897e4b80cbc032f558193ad7a8;hpb=9e057e1d605cf0960fa40ecf6825aa89d9371f78;p=mirrors%2FPrograms.git diff --git a/c/pthread_extra/pthread_extra.h b/c/pthread_extra/pthread_extra.h index faffb3d..58a98e3 100644 --- a/c/pthread_extra/pthread_extra.h +++ b/c/pthread_extra/pthread_extra.h @@ -28,6 +28,7 @@ pthread_user_data_internal_t* pthread_user_data_internal(pthread_t thread); void** pthread_user_data_ptr(pthread_t thread); void* pthread_user_data_get(pthread_t thread); void pthread_user_data_set(pthread_t thread, void *usr); +void pthread_user_data_cleanup(void * arg); // Pausing @@ -36,11 +37,17 @@ void pthread_user_data_set(pthread_t thread, void *usr); #define PTHREAD_XSIG_CONT (SIGRTMIN+1) #define PTHREAD_XSIGRTMIN (SIGRTMIN+2) //First unused RT signal +int pthread_extra_create(pthread_t *restrict thread, + const pthread_attr_t *restrict attr, + void *(*start_routine)(void *), + void *restrict arg); void pthread_unpause_handler(); void pthread_pause_handler(); void pthread_pause_enable(); int pthread_pause(pthread_t thread); int pthread_unpause(pthread_t thread); +int pthread_pause_reschedule(pthread_t thread); +int pthread_extra_yield(); // Message queues