MINOR: sink: set the fd-type sinks to non-blocking
Just like we used to do for the logs, we must disable blocking on FD
output except if it's a terminal.
diff --git a/src/sink.c b/src/sink.c
index f3e18cc..214b272 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -19,6 +19,8 @@
*/
#include <sys/uio.h>
+#include <fcntl.h>
+#include <unistd.h>
#include <common/compat.h>
#include <common/config.h>
#include <common/ist.h>
@@ -89,6 +91,11 @@
goto end;
}
+ /* FD not yet initialized to non-blocking mode.
+ * DON'T DO IT ON A TERMINAL!
+ */
+ if (!isatty(fd))
+ fcntl(fd, F_SETFL, O_NONBLOCK);
sink->type = SINK_TYPE_FD;
sink->ctx.fd = fd;
end: