summaryrefslogtreecommitdiff
path: root/gpsd.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2013-11-17 10:04:46 -0500
committerEric S. Raymond <esr@thyrsus.com>2013-11-17 10:04:46 -0500
commitbb23daaa007705d0751e3c386da4a0fb542a91a1 (patch)
tree0ab8802f730c230ff32ed9990b19423f57a14076 /gpsd.c
parent102f05a4e93d592386b40974bea0b3f5a8d648da (diff)
downloadgpsd-bb23daaa007705d0751e3c386da4a0fb542a91a1.tar.gz
Try to ensure that threads don't keep running after gpsd is signalled.
Diffstat (limited to 'gpsd.c')
-rw-r--r--gpsd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gpsd.c b/gpsd.c
index 95dbc98c..de176c1e 100644
--- a/gpsd.c
+++ b/gpsd.c
@@ -2421,6 +2421,10 @@ int main(int argc, char *argv[])
(void)gpsd_wrap(&devices[dfd]);
}
+#ifdef PPS_ENABLE
+ context.pps_hook = NULL; /* tell any PPS-watcher thread to die */
+#endif /* PPS_ENABLE */
+
gpsd_report(context.debug, LOG_WARN, "exiting.\n");
#ifdef SOCKET_EXPORT_ENABLE