libubus: reset ctx->sock.eof to fix reconnect issues
authorFelix Fietkau <nbd@nbd.name>
Fri, 3 Feb 2017 13:13:48 +0000 (14:13 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 3 Feb 2017 13:13:54 +0000 (14:13 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
libubus-io.c

index 0582ff7..1075c65 100644 (file)
@@ -372,6 +372,7 @@ int ubus_reconnect(struct ubus_context *ctx, const char *path)
                close(ctx->sock.fd);
        }
 
                close(ctx->sock.fd);
        }
 
+       ctx->sock.eof = false;
        ctx->sock.fd = usock(USOCK_UNIX, path, NULL);
        if (ctx->sock.fd < 0)
                return UBUS_STATUS_CONNECTION_FAILED;
        ctx->sock.fd = usock(USOCK_UNIX, path, NULL);
        if (ctx->sock.fd < 0)
                return UBUS_STATUS_CONNECTION_FAILED;