diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2013-01-15 05:49:24 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2013-01-15 05:49:24 -0500 |
commit | 8d609c2584b70a77e6d7a524b260d992fff94268 (patch) | |
tree | 56f531f749018507f15abbaf5a12dab7b4c1aa74 | |
parent | 65b4419c0dcf84c15c03d98d27c9f0197d31f3b6 (diff) | |
download | gpsd-8d609c2584b70a77e6d7a524b260d992fff94268.tar.gz |
Move the timezone swetting to where we keep our assumptions abouut time.
-rw-r--r-- | gpsd.c | 3 | ||||
-rw-r--r-- | timebase.c | 7 |
2 files changed, 7 insertions, 3 deletions
@@ -1997,9 +1997,6 @@ int main(int argc, char *argv[]) #endif /* defined(CONTROL_SOCKET_ENABLE) || defined(SYSTEMD_ENABLE) */ - /* gpsd can't work with 'right' timezone when leapseconds inserted */ - (void)putenv("TZ=UTC"); - /* might be time to daemonize */ if (go_background) { /* not SuS/POSIX portable, but we have our own fallback version */ @@ -87,6 +87,13 @@ BSD terms apply: see the file COPYING in the distribution root for details. void gpsd_time_init(struct gps_context_t *context, time_t starttime) /* initialize the GPS context's time fields */ { + /* + * gpsd can't work with 'right' timezones (leapseconds inserted in + * the timezone offset). Avoid this and all manner of other local + * time issues by telling the system we want times returned in UTC. + */ + (void)putenv("TZ=UTC"); + /* * Provides a start time for getting the century. Do this, just * in case one of our embedded deployments is still in place in |