summary refs log tree commit diff
path: root/daemon.h
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-08-14 17:44:27 -0400
committerJune McEnroe <june@causal.agency>2020-08-14 17:44:27 -0400
commit04ca84acdabc55ce20cb03b5c4ca703ab0c14b4d (patch)
treed56a4f1a7e3881d2dcd6fe55a556a7237560b62d /daemon.h
parentImplement serviceStart (diff)
downloadcatsit-04ca84acdabc55ce20cb03b5c4ca703ab0c14b4d.tar.gz
catsit-04ca84acdabc55ce20cb03b5c4ca703ab0c14b4d.zip
Switch to timespec for timeouts
Can be passed to ppoll(2) directly.
Diffstat (limited to 'daemon.h')
-rw-r--r--daemon.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/daemon.h b/daemon.h
index 09cda47..32827aa 100644
--- a/daemon.h
+++ b/daemon.h
@@ -19,7 +19,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
-#include <sys/time.h>
+#include <sys/timespec.h>
 #include <unistd.h>
 
 typedef unsigned char byte;
@@ -85,8 +85,8 @@ struct Service {
 	int errPipe[2];
 	struct Line outLine;
 	struct Line errLine;
-	int restartInterval;
-	struct timeval restartTime;
+	struct timespec restartInterval;
+	struct timespec restartDeadline;
 };
 
 extern struct Services {
@@ -100,8 +100,6 @@ void serviceStart(struct Service *service);
 extern char configError[];
 int configParse(const char *path);
 
-extern int restartInterval;
-
 struct Set256 {
 	uint32_t bits[8];
 };
@@ -117,3 +115,4 @@ static inline uint32_t setTest(const struct Set256 *set, byte x) {
 
 enum { StopExit = 127 };
 extern struct Set256 stopExits;
+extern struct timespec restartInterval;