diff options
Diffstat (limited to 'qga/channel-posix.c')
-rw-r--r-- | qga/channel-posix.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/qga/channel-posix.c b/qga/channel-posix.c index 57eea06c47..d4fd628907 100644 --- a/qga/channel-posix.c +++ b/qga/channel-posix.c @@ -1,6 +1,11 @@ #include <glib.h> #include <termios.h> -#include "qemu_socket.h" +#include <errno.h> +#include <unistd.h> +#include <fcntl.h> +#include <stdlib.h> +#include "qemu/osdep.h" +#include "qemu/sockets.h" #include "qga/channel.h" #ifdef CONFIG_SOLARIS @@ -181,9 +186,11 @@ static gboolean ga_channel_open(GAChannel *c, const gchar *path, GAChannelMethod break; } case GA_CHANNEL_UNIX_LISTEN: { - int fd = unix_listen(path, NULL, strlen(path)); - if (fd == -1) { - g_critical("error opening path: %s", strerror(errno)); + Error *local_err = NULL; + int fd = unix_listen(path, NULL, strlen(path), &local_err); + if (local_err != NULL) { + g_critical("%s", error_get_pretty(local_err)); + error_free(local_err); return false; } ga_channel_listen_add(c, fd, true); |