X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fthreads.h;h=d3df82b69f220dcfcdda5f09b6b1478870def800;hb=7c39a084e6dc12050cc3827e93cce62bb34b8d36;hp=65c5689fac86c639e3e7a23458a6244a0a5dad85;hpb=d0a6f3a795db5fb278316acf068019d71845d1fa;p=citadel.git diff --git a/citadel/threads.h b/citadel/threads.h index 65c5689fa..d3df82b69 100644 --- a/citadel/threads.h +++ b/citadel/threads.h @@ -23,6 +23,46 @@ #include "server.h" #include "sysdep_decls.h" +#ifndef timerclear +#define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) +#endif + +#ifndef timerisset +#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) +#endif + +#ifndef timercmp +#define timercmp(tvp, uvp, cmp) \ + (((tvp)->tv_sec == (uvp)->tv_sec) ? \ + ((tvp)->tv_usec cmp (uvp)->tv_usec) : \ + ((tvp)->tv_sec cmp (uvp)->tv_sec)) +#endif + +#ifndef timeradd +#define timeradd(tvp, uvp, vvp) \ + do { \ + (vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \ + (vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \ + if ((vvp)->tv_usec >= 1000000) { \ + (vvp)->tv_sec++; \ + (vvp)->tv_usec -= 1000000; \ + } \ + } while (0) +#endif + +#ifndef timersub +#define timersub(tvp, uvp, vvp) \ + do { \ + (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \ + (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \ + if ((vvp)->tv_usec < 0) { \ + (vvp)->tv_sec--; \ + (vvp)->tv_usec += 1000000; \ + } \ + } while (0) +#endif + + // #define THREADS_USESIGNALS /*