commit 73a56436691774cc870c393578c577efbb8c26ea
parent 159fd290d1bb6beb78bf775a4848122933713c95
Author: zerous Naveen Narayanan <zerous@nocebo.space>
Date:   Wed, 30 Oct 2019 21:01:02 +0100
Use syslog for logging
Diffstat:
| M | slb.c | | | 21 | +++++++++++++++------ | 
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/slb.c b/slb.c
@@ -2,6 +2,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <syslog.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/wait.h>
@@ -34,11 +35,13 @@ pwread(const char *bat)
 	int t;
 	
 	if ((fd = open(bat, O_RDONLY)) == -1) {
-		err(1, "open failed");
+		syslog(LOG_DAEMON|LOG_ERR, "open error for %s: %m", "slb.c");
+		exit(1);
 	}
 
 	if ((t = read(fd,buf,sizeof(buf))) == -1) {
-		err(1, "read failed");
+		syslog(LOG_DAEMON|LOG_ERR, "read error for %s: %m", "slb.c");
+		exit(1);
 	}
 
 	buf[t]=0;
@@ -58,6 +61,7 @@ main(int argc, char **argv)
 	int t;
 	pid_t p;
 
+	openlog("slb", LOG_PID | LOG_CONS, LOG_DAEMON);
 	if (!daemoninit())
 		for (;;) {
 			tpow = 0;
@@ -67,14 +71,19 @@ main(int argc, char **argv)
 			}
 
 			if (!pwread(ac) && (tpow < threshold)) {
-				if ((p = fork()) == -1)
-					err(1, "fork failed");
+				if ((p = fork()) == -1) {
+					syslog(LOG_DAEMON|LOG_ERR, "fork error for %s: %m", "slb.c");
+					exit(1);
+				}
 				else if (p > 0) {
 					wait(NULL);
 				}
 				else if (p == 0) {
-					if ((t = execve(cmd,NULL,NULL)) == -1)
-						err(1, "execve failed");
+					if ((t = execve(cmd,NULL,NULL)) == -1) {
+						syslog(LOG_DAEMON|LOG_ERR,
+						       "execve error for %s: %m", "slb.c");
+						exit(1);
+					}
 				}
 			}