diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2011-09-27 22:10:40 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-09-27 22:10:40 -0400 |
commit | 13519fc5b89dedb5707ab820c513428b368e1ec1 (patch) | |
tree | e9e3575c6e1a4a57859c085edf7e2ee2b1bc113a /libgps_sock.c | |
parent | 7800222b3ddb462a6ab92f0f1950abf78eabf10b (diff) | |
download | gpsd-13519fc5b89dedb5707ab820c513428b368e1ec1.tar.gz |
Get back to a state where the shm export works.
Diffstat (limited to 'libgps_sock.c')
-rw-r--r-- | libgps_sock.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libgps_sock.c b/libgps_sock.c index f9551940..ae4d45c3 100644 --- a/libgps_sock.c +++ b/libgps_sock.c @@ -566,18 +566,18 @@ int gps_sock_stream(struct gps_data_t *gpsdata, unsigned int flags, } int gps_sock_mainloop(struct gps_data_t *gpsdata, int timeout, - int (*hook)(struct gps_data_t *gpsdata, bool)) + void (*hook)(struct gps_data_t *gpsdata)) /* run a socket main loop with a specified handler */ { for (;;) { - if (!gps_sock_waiting(gpsdata, timeout)) { - if ((*hook)(gpsdata, false) != 0) - break; + if (!gps_waiting(gpsdata, timeout)) { + return -1; } else { - if (gps_sock_read(gpsdata) == -1 || (*hook)(gpsdata, true) != 0) - break; + (void)gps_read(gpsdata); + (*hook)(gpsdata); } } + (void)gps_close(gpsdata); return 0; } |