chiark / gitweb /
buffer: Provide buffer_destroy
[secnet.git] / log.c
diff --git a/log.c b/log.c
index 3748f9157d15dc7778847201c0eaed777f39fdc5..cbe4a85bf013fd8d2c432ba510b1f9ac301bb1d6 100644 (file)
--- a/log.c
+++ b/log.c
@@ -579,6 +579,7 @@ static void log_from_fd_afterpoll(void *sst, struct pollfd *fds, int nfds)
                    i=-1;
                }
            }
+       } else if (errno==EINTR || iswouldblock(errno)) {
        } else {
            Message(M_WARNING,"log_from_fd: %s\n",strerror(errno));
            st->finished=True;
@@ -598,6 +599,8 @@ void log_from_fd(int fd, cstring_t prefix, struct log_if *log)
     st->i=0;
     st->finished=False;
 
+    setnonblock(st->fd);
+
     register_for_poll(st,log_from_fd_beforepoll,log_from_fd_afterpoll,
                      prefix);
 }