summaryrefslogtreecommitdiff
path: root/driver_garmin.c
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2016-08-15 16:53:40 -0700
committerGary E. Miller <gem@rellim.com>2016-08-15 16:53:40 -0700
commite67e4118a0cbb5b5cecc62e7440299d0b5b35a37 (patch)
tree9aa35686f7b499ae7afd75e6b8b1f25a2aedfb32 /driver_garmin.c
parent1721d7c431aeb471dcd3e36b09c4a432eb31dc5e (diff)
downloadgpsd-e67e4118a0cbb5b5cecc62e7440299d0b5b35a37.tar.gz
usleep() is removed from POSIX-2008. Replace with nanosleep()
I sure hope I did not drop a zero anywhere...
Diffstat (limited to 'driver_garmin.c')
-rw-r--r--driver_garmin.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/driver_garmin.c b/driver_garmin.c
index c80b8428..4ecb960b 100644
--- a/driver_garmin.c
+++ b/driver_garmin.c
@@ -1027,6 +1027,7 @@ gps_mask_t garmin_ser_parse(struct gps_device_t *session)
unsigned char pkt_len = 0;
unsigned char chksum = 0;
gps_mask_t mask = 0;
+ struct timespec delay;
gpsd_log(&session->context->errout, LOG_RAW, "Garmin: garmin_ser_parse()\n");
if (6 > len) {
@@ -1158,7 +1159,11 @@ gps_mask_t garmin_ser_parse(struct gps_device_t *session)
// sending ACK too soon might hang the session
// so send ACK last, after a pause
- (void)usleep(300);
+ /* wait 300 uSec */
+ delay.tv_sec = 0;
+ delay.tv_nsec = 300000L;
+ nanosleep(&delay, NULL);
+
Send_ACK();
gpsd_log(&session->context->errout, LOG_DATA,
"Garmin: garmin_ser_parse( )\n");