Stop reporting bad GPS serial time to ntp/chrony.
[gpsd.git] / sd_socket.c
1 /*
2  * This file is Copyright (c) 2011 by Eckhart W├Ârner
3  * BSD terms apply: see the file COPYING in the distribution root for details.
4  */
5
6 #include <limits.h>
7 #include <stdlib.h>
8 #include <unistd.h>
9
10 #include "sd_socket.h"
11
12 int sd_get_socket_count(void) {
13     unsigned long n;
14     const char* env;
15
16     env = getenv("LISTEN_PID");
17     if (!env)
18         return 0;
19
20     n = strtoul(env, NULL, 10);
21     if (n == ULONG_MAX || (pid_t)n != getpid())
22         return 0;
23
24     env = getenv("LISTEN_FDS");
25     if (!env)
26         return 0;
27
28     n = strtoul(env, NULL, 10);
29     if (n == ULONG_MAX)
30         return 0;
31
32     return (int)n;
33 }