summaryrefslogtreecommitdiff
path: root/cgpxlogger.c
diff options
context:
space:
mode:
authorChris Kuethe <chris.kuethe@gmail.com>2005-09-28 21:43:15 +0000
committerChris Kuethe <chris.kuethe@gmail.com>2005-09-28 21:43:15 +0000
commitdfb9c93e8e6b6fef214c97fca621dc7f5a8d4e1d (patch)
tree50bb45d687c849dc460fb3a4998a3fbdd7b2927e /cgpxlogger.c
parent0304199de36c9453d2ca25f71abab10353a2a0fb (diff)
downloadgpsd-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.c7
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);