Make sure other early exit calls can't hang in noop_io_until_death().
authorWayne Davison <wayned@samba.org>
Tue, 13 Sep 2011 00:56:23 +0000 (17:56 -0700)
committerWayne Davison <wayned@samba.org>
Tue, 13 Sep 2011 00:56:23 +0000 (17:56 -0700)
io.c

diff --git a/io.c b/io.c
index b4e0a682a74c14e62bd639ff3978d764643a2314..23e7822eeb4e090eee93256020eaa958faecac7d 100644 (file)
--- a/io.c
+++ b/io.c
@@ -912,7 +912,7 @@ void noop_io_until_death(void)
 {
        char buf[1024];
 
-       if (!iobuf.in.buf || !iobuf.out.buf || iobuf.in_fd == -1 || iobuf.out_fd == -1)
+       if (!iobuf.in.buf || !iobuf.out.buf || iobuf.in_fd < 0 || iobuf.out_fd < 0 || kluge_around_eof)
                return;
 
        kluge_around_eof = 2;