diff options
author | Chris Kuethe <chris.kuethe@gmail.com> | 2005-09-28 21:43:15 +0000 |
---|---|---|
committer | Chris Kuethe <chris.kuethe@gmail.com> | 2005-09-28 21:43:15 +0000 |
commit | dfb9c93e8e6b6fef214c97fca621dc7f5a8d4e1d (patch) | |
tree | 50bb45d687c849dc460fb3a4998a3fbdd7b2927e /cgpxlogger.c | |
parent | 0304199de36c9453d2ca25f71abab10353a2a0fb (diff) | |
download | gpsd-dfb9c93e8e6b6fef214c97fca621dc7f5a8d4e1d.tar.gz |
Various select implementations clobber the timeout structure...
...so set it up before each select. Suggestion from Remco Treffkorn.
Diffstat (limited to 'cgpxlogger.c')
-rw-r--r-- | cgpxlogger.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cgpxlogger.c b/cgpxlogger.c index 3b27d3e8..9626fe12 100644 --- a/cgpxlogger.c +++ b/cgpxlogger.c @@ -144,9 +144,6 @@ main(int argc, char **argv){ FD_ZERO(&fds); FD_SET(fd, &fds); - tv.tv_usec = 250000; - tv.tv_sec = 0; - signal(SIGINT, bye); signal(SIGTERM, bye); signal(SIGQUIT, bye); @@ -165,7 +162,11 @@ main(int argc, char **argv){ } write(fd, poll, l); + + tv.tv_usec = 250000; + tv.tv_sec = 0; select(fd + 1, &fds, NULL, NULL, &tv); + bzero(buf, BS); if ((rl = read(fd, buf, BS - 1)) != -1){ process(buf); |