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>
diff --git a/qemu-char.c b/qemu-char.c
index 62af0ef..c71805a 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3042,11 +3042,13 @@
     }
 }
 
-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 @@
     }
 
     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);
     }