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 | ca58a350958105f5529fb14504f4e229b675e39f (patch) | |
tree | dc09e97b4aa4cb8c2eede715cf0b7f0c8f4e1c5d /server.c | |
parent | Add server daemonization (diff) | |
download | torus-ca58a350958105f5529fb14504f4e229b675e39f.tar.gz torus-ca58a350958105f5529fb14504f4e229b675e39f.zip |
Only use pidfile(3) on FreeBSD
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 a62b286..ade834d 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"); |