Forward MSG_IO_ERROR to the generator so that it can disable deletions.
authorWayne Davison <wayned@samba.org>
Sat, 13 Oct 2007 05:23:34 +0000 (05:23 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 13 Oct 2007 05:23:34 +0000 (05:23 +0000)
io.c

diff --git a/io.c b/io.c
index 3ef6f12..a19017a 100644 (file)
--- a/io.c
+++ b/io.c
@@ -388,6 +388,12 @@ static void read_msg_fd(void)
                        goto invalid_msg;
                flist_eof = 1;
                break;
+       case MSG_IO_ERROR:
+               if (len != 4)
+                       goto invalid_msg;
+               readfd(fd, buf, len);
+               io_error |= IVAL(buf, 0);
+               break;
        case MSG_DELETED:
                if (len >= (int)sizeof buf || !am_generator)
                        goto invalid_msg;
@@ -1041,6 +1047,7 @@ static int readfd_unbuffered(int fd, char *buf, size_t len)
                        if (msg_bytes != 4)
                                goto invalid_msg;
                        read_loop(fd, line, msg_bytes);
+                       send_msg_int(MSG_IO_ERROR, IVAL(line, 0));
                        io_error |= IVAL(line, 0);
                        break;
                case MSG_DELETED: