X-Git-Url: http://git.harvie.cz/?p=mirrors%2FPrograms.git;a=blobdiff_plain;f=c%2Fpthread_extra%2Fpthread_extra.h;h=bd1baad3b8e1270495b616ccd1b458fe568fd761;hp=e1fe782cec638133d401592152c7c582644e7a59;hb=a8e71e8fffa0159f06b2c469fb2d3dfd8222b306;hpb=e7d1ce5c0f321dc0e5894527c1d1401369e46a1b diff --git a/c/pthread_extra/pthread_extra.h b/c/pthread_extra/pthread_extra.h index e1fe782..bd1baad 100644 --- a/c/pthread_extra/pthread_extra.h +++ b/c/pthread_extra/pthread_extra.h @@ -5,10 +5,24 @@ #include #include #include +#include #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