diff options
author | June McEnroe <june@causal.agency> | 2018-10-20 15:45:58 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-10-20 15:45:58 -0400 |
commit | 1056dca533c84e168e69a5af54fc90ba5d718612 (patch) | |
tree | 0c3d472aae8fa0b71d02ca3d4fc35a3c07831b2c /server.c | |
parent | Add server daemonization (diff) | |
download | torus-1056dca533c84e168e69a5af54fc90ba5d718612.tar.gz torus-1056dca533c84e168e69a5af54fc90ba5d718612.zip |
Only use pidfile(3) on FreeBSD daemon
Diffstat (limited to '')
-rw-r--r-- | server.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/server.c b/server.c index 7edf3f2..cff6d21 100644 --- a/server.c +++ b/server.c @@ -19,7 +19,6 @@ #include <err.h> #include <errno.h> #include <fcntl.h> -#include <libutil.h> #include <signal.h> #include <stdbool.h> #include <stdint.h> @@ -34,6 +33,10 @@ #include <time.h> #include <unistd.h> +#ifdef __FreeBSD__ +#include <libutil.h> +#endif + #include "torus.h" static struct Tile *tiles; @@ -371,11 +374,13 @@ int main(int argc, char *argv[]) { } } +#ifdef __FreeBSD__ struct pidfh *pid = NULL; if (pidPath) { pid = pidfile_open(pidPath, 0600, NULL); if (!pid) err(EX_CANTCREAT, "%s", pidPath); } +#endif tilesMap(dataPath); @@ -390,11 +395,13 @@ int main(int argc, char *argv[]) { error = bind(server, (struct sockaddr *)&addr, SUN_LEN(&addr)); if (error) err(EX_CANTCREAT, "%s", sockPath); +#ifdef __FreeBSD__ if (pid) { error = daemon(0, 0); if (error) err(EX_OSERR, "daemon"); pidfile_write(pid); } +#endif error = listen(server, 0); if (error) err(EX_OSERR, "listen"); |