summaryrefslogtreecommitdiffstats
path: root/qga/channel-posix.c
diff options
context:
space:
mode:
Diffstat (limited to 'qga/channel-posix.c')
-rw-r--r--qga/channel-posix.c15
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);