Commit a9b305ba authored by Marc-André Lureau's avatar Marc-André Lureau Committed by Peter Maydell
Browse files

socket: allow wait=false for client socket



Commit 767abe7f ("chardev: forbid 'wait' option with client sockets")
is a bit too strict. Current libvirt always set wait=false, and will
thus fail to add client chardev.

Make the code more permissive, allowing wait=false with client socket
chardevs. Deprecate usage of 'wait' with client sockets.

Fixes: 767abe7f
Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
Message-id: 20190415163337.2795-1-marcandre.lureau@redhat.com
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 677746b3
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1263,12 +1263,16 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
            return false;
        }
        if (sock->has_wait) {
            warn_report("'wait' option is deprecated with "
                        "socket in client connect mode");
            if (sock->wait) {
                error_setg(errp, "%s",
                           "'wait' option is incompatible with "
                           "socket in client connect mode");
                return false;
            }
        }
    }

    return true;
}
+5 −0
Original line number Diff line number Diff line
@@ -105,6 +105,11 @@ details.
The ``query-events'' command has been superseded by the more powerful
and accurate ``query-qmp-schema'' command.

@subsection chardev client socket with 'wait' option (since 4.0)

Character devices creating sockets in client mode should not specify
the 'wait' field, which is only applicable to sockets in server mode

@section Human Monitor Protocol (HMP) commands

@subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (since 3.1)