Pthread sleep
[mirrors/Programs.git] / c / pthread_extra / pthread_extra.h
index ca5514d26f6bf04992b88f6b11c54b36e33d032f..56c440b5f03751c8c0792a3412b8308b8a8d7a9c 100644 (file)
@@ -24,12 +24,15 @@ typedef struct pthread_user_data_internal_t {
 } pthread_user_data_internal_t;
 
 pthread_user_data_internal_t* pthread_user_data_internal(pthread_t thread);
+int pthread_user_data_lock();
+int pthread_user_data_unlock();
 #endif //__PTHREAD_EXTRA_INTERNAL
 
 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);
+int pthread_user_data_internal_iterate(int (*routine)(pthread_t), void *arg);
 
 // Pausing
 
@@ -45,11 +48,20 @@ int pthread_extra_create(pthread_t *restrict thread,
 void pthread_unpause_handler();
 void pthread_pause_handler();
 void pthread_pause_enable();
+void pthread_pause_disable();
 int pthread_pause(pthread_t thread);
 int pthread_unpause(pthread_t thread);
+int pthread_pause_all();
+int pthread_unpause_all();
 int pthread_pause_reschedule(pthread_t thread);
 int pthread_extra_yield();
 
+// Pause compatible sleeps
+
+void pthread_nanosleep(struct timespec t);
+void pthread_nsleep(time_t s, long ns);
+void pthread_sleep(time_t s);
+
 // Message queues
 
 //Flags
This page took 0.138659 seconds and 4 git commands to generate.