diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2015-02-25 17:28:12 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2015-02-25 17:28:12 -0500 |
commit | 05b3c089bc0ba94281190b453dedbe9adf70d25c (patch) | |
tree | 3fe7bebbb0fb12ea82b36626ddbf24c7d80e2830 /ntpshmread.c | |
parent | bf6b99d4440d85c5cbe506f7e1076394e1c96f5c (diff) | |
download | gpsd-05b3c089bc0ba94281190b453dedbe9adf70d25c.tar.gz |
In gpmon, it was confusing to use 'mode' as a report field that wasn't SHM mode.
Diffstat (limited to 'ntpshmread.c')
-rw-r--r-- | ntpshmread.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/ntpshmread.c b/ntpshmread.c index 710dfd33..da449811 100644 --- a/ntpshmread.c +++ b/ntpshmread.c @@ -70,14 +70,16 @@ enum segstat_t shm_query(struct shmTime *shm_in, struct shm_stat_t *shm_stat) clock_gettime(CLOCK_REALTIME, &shm_stat->tvc); if (shm == NULL) { - shm_stat->mode = NO_SEGMENT; + shm_stat->status = NO_SEGMENT; return NO_SEGMENT; } if (!shm->valid) { - shm_stat->mode = NOT_READY; + shm_stat->status = NOT_READY; return NOT_READY; } + shm_stat->status = OK; + switch (shm->mode) { case 0: shm_stat->tvr.tv_sec = shm->receiveTimeStampSec; @@ -119,8 +121,7 @@ enum segstat_t shm_query(struct shmTime *shm_in, struct shm_stat_t *shm_stat) shm_stat->tvt.tv_nsec = shm->clockTimeStampUSec * 1000; cns_new = shm->clockTimeStampNSec; if (cnt != shm->count) { - shm_stat->mode = CLASH; - return CLASH; + shm_stat->status = CLASH; } /* See the case above for an explanation of the @@ -138,12 +139,9 @@ enum segstat_t shm_query(struct shmTime *shm_in, struct shm_stat_t *shm_stat) break; default: - shm_stat->mode = BAD_MODE; - return BAD_MODE; + shm_stat->status = BAD_MODE; break; } - shm->valid = 0; - /* * leap field is not a leap offset but a leap notification code. * The values are magic numbers used by NTP and set by GPSD, if at all, in @@ -151,8 +149,9 @@ enum segstat_t shm_query(struct shmTime *shm_in, struct shm_stat_t *shm_stat) */ shm_stat->leap = shm->leap; shm_stat->precision = shm->precision; - shm_stat->mode = OK; - return OK; + shm->valid = 0; + + return shm_stat->status; } /* end */ |