diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-09-06 11:38:36 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-10-04 13:21:53 +0100 |
commit | 3a3f8705962c8c8a47a9b981ffd5aab7274ad508 (patch) | |
tree | c4979b2fee4e141603da3e5eb0a74d85461d37b7 /io | |
parent | f69a8bde29354493ff8aea64cc9cb3b531d16337 (diff) | |
download | qemu-3a3f8705962c8c8a47a9b981ffd5aab7274ad508.zip qemu-3a3f8705962c8c8a47a9b981ffd5aab7274ad508.tar.gz qemu-3a3f8705962c8c8a47a9b981ffd5aab7274ad508.tar.bz2 |
io: include full error message in websocket handshake trace
When the websocket handshake fails it is useful to log the real
error message via the trace points for debugging purposes.
Fixes bug: #1715186
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'io')
-rw-r--r-- | io/channel-websock.c | 7 | ||||
-rw-r--r-- | io/trace-events | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/io/channel-websock.c b/io/channel-websock.c index f5fac5b..6ddcec1 100644 --- a/io/channel-websock.c +++ b/io/channel-websock.c @@ -507,7 +507,7 @@ static gboolean qio_channel_websock_handshake_send(QIOChannel *ioc, &err); if (ret < 0) { - trace_qio_channel_websock_handshake_fail(ioc); + trace_qio_channel_websock_handshake_fail(ioc, error_get_pretty(err)); qio_task_set_error(task, err); qio_task_complete(task); return FALSE; @@ -516,7 +516,8 @@ static gboolean qio_channel_websock_handshake_send(QIOChannel *ioc, buffer_advance(&wioc->encoutput, ret); if (wioc->encoutput.offset == 0) { if (wioc->io_err) { - trace_qio_channel_websock_handshake_fail(ioc); + trace_qio_channel_websock_handshake_fail( + ioc, error_get_pretty(wioc->io_err)); qio_task_set_error(task, wioc->io_err); wioc->io_err = NULL; qio_task_complete(task); @@ -547,7 +548,7 @@ static gboolean qio_channel_websock_handshake_io(QIOChannel *ioc, * client connection, as most of the time we have an * HTTP 4xx err response to send instead */ - trace_qio_channel_websock_handshake_fail(ioc); + trace_qio_channel_websock_handshake_fail(ioc, error_get_pretty(err)); qio_task_set_error(task, err); qio_task_complete(task); return FALSE; diff --git a/io/trace-events b/io/trace-events index 3d23369..6459f71 100644 --- a/io/trace-events +++ b/io/trace-events @@ -46,7 +46,7 @@ qio_channel_websock_new_server(void *ioc, void *master) "Websock new client ioc= qio_channel_websock_handshake_start(void *ioc) "Websock handshake start ioc=%p" qio_channel_websock_handshake_pending(void *ioc, int status) "Websock handshake pending ioc=%p status=%d" qio_channel_websock_handshake_reply(void *ioc) "Websock handshake reply ioc=%p" -qio_channel_websock_handshake_fail(void *ioc) "Websock handshake fail ioc=%p" +qio_channel_websock_handshake_fail(void *ioc, const char *msg) "Websock handshake fail ioc=%p err=%s" qio_channel_websock_handshake_complete(void *ioc) "Websock handshake complete ioc=%p" # io/channel-command.c |