qemu-sockets: Add error to non-blocking connect handler

An error value here would be quite handy and more consistent
with the rest of the code.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
[Make sure SO_ERROR value is passed to error_setg_errno. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Corey Minyard 2014-10-08 07:11:56 -05:00 committed by Paolo Bonzini
parent 5748e4c2be
commit 5179502918
5 changed files with 25 additions and 12 deletions

View file

@ -3042,11 +3042,13 @@ static void qemu_chr_finish_socket_connection(CharDriverState *chr, int fd)
}
}
static void qemu_chr_socket_connected(int fd, void *opaque)
static void qemu_chr_socket_connected(int fd, Error *err, void *opaque)
{
CharDriverState *chr = opaque;
if (fd < 0) {
error_report("Unable to connect to char device %s: %s",
chr->label, error_get_pretty(err));
qemu_chr_socket_restart_timer(chr);
return;
}
@ -4079,7 +4081,8 @@ static gboolean socket_reconnect_timeout(gpointer opaque)
}
if (!qemu_chr_open_socket_fd(chr, &err)) {
error_report("Unable to connect to char device %s\n", chr->label);
error_report("Unable to connect to char device %s: %s\n",
chr->label, error_get_pretty(err));
qemu_chr_socket_restart_timer(chr);
}