pthread_pause pthread_unpause
[mirrors/Programs.git] / c / pthread_extra / pthread_extra.h
index e1fe782cec638133d401592152c7c582644e7a59..bd1baad3b8e1270495b616ccd1b458fe568fd761 100644 (file)
@@ -5,10 +5,24 @@
 #include <time.h>
 #include <stdbool.h>
 #include <stdint.h>
+#include <signal.h>
 
 #define PTHREAD_XTIME_NOBLOCK (&(struct timespec){ .tv_sec = 0, .tv_nsec = 0 })
 #define PTHREAD_XTIME_FOREVER NULL
 
+//Pausing
+
+#define PTHREAD_XSIG_STOP (SIGRTMIN+0)
+#define PTHREAD_XSIG_CONT (SIGRTMIN+1)
+#define PTHREAD_XSIGRTMIN (SIGRTMIN+2) //First unused RT signal
+
+#define pthread_pause(t)   (pthread_kill((t), PTHREAD_XSIG_STOP));
+#define pthread_unpause(t) (pthread_kill((t), PTHREAD_XSIG_CONT));
+
+void pthread_unpause_handler();
+void pthread_pause_handler();
+void pthread_pause_enable();
+
 // Message queues
 
 #define PTHREAD_XMQ_FRONT true
This page took 0.101881 seconds and 4 git commands to generate.