summaryrefslogtreecommitdiffhomepage
path: root/main.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-10-18 20:12:08 +0200
committerFelix Fietkau <nbd@openwrt.org>2011-10-18 20:12:08 +0200
commit6dfd44e127c153e721a398f22b510be1a5e9d0b0 (patch)
tree04505b7a0c6ce960fb9ca4332205704621c2bc89 /main.c
parent416b41368c72d3af4c0e89a7b522b28ea13a6ce4 (diff)
fix interrupted read checks in log collection
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/main.c b/main.c
index b17f053..256a022 100644
--- a/main.c
+++ b/main.c
@@ -94,12 +94,14 @@ netifd_process_log_cb(struct uloop_fd *fd, unsigned int events)
retry:
read_len = len = read(fd->fd, buf, maxlen);
- if (len <= 0) {
- if (errno == EINTR)
+ if (len < 0) {
+ if (errno == EAGAIN)
goto retry;
goto out;
- }
+ } else if (len == 0)
+ goto out;
+
proc->log_buf_ofs += len;
cur = buf;