qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v6 1/4] sockets: introduce set_socket_error()


From: Amos Kong
Subject: [Qemu-devel] [PATCH v6 1/4] sockets: introduce set_socket_error()
Date: Tue, 27 Mar 2012 10:56:42 -0400 (EDT)

Introduce set_socket_error() to set the errno, use
WSASetLastError() for win32.
Sometimes, clean work would rewrite errno in error path,
we can use this function to restore real errno.

Changes from V5:
- create a function to set errno
    
Signed-off-by: Amos Kong <address@hidden>

diff --git a/qemu-sockets.c b/qemu-sockets.c
index 6bcb8e3..f822187 100644
--- a/qemu-sockets.c
+++ b/qemu-sockets.c
@@ -56,6 +56,11 @@ static QemuOptsList dummy_opts = {
     },
 };
 
+void set_errno(int e)
+{
+       errno = e;
+}
+
 static int inet_getport(struct addrinfo *e)
 {
     struct sockaddr_in *i4;
diff --git a/qemu_socket.h b/qemu_socket.h
index fe4cf6c..62c1921 100644
--- a/qemu_socket.h
+++ b/qemu_socket.h
@@ -8,6 +8,7 @@
 #include <ws2tcpip.h>
 
 #define socket_error() WSAGetLastError()
+#define set_socket_error(e) WSASetLastError(e)
 #undef EINTR
 #define EWOULDBLOCK WSAEWOULDBLOCK
 #define EINTR       WSAEINTR
@@ -25,7 +26,10 @@ int inet_aton(const char *cp, struct in_addr *ia);
 #include <netdb.h>
 #include <sys/un.h>
 
+void set_errno(int e);
+
 #define socket_error() errno
+#define set_socket_error(e) set_errno(e)
 #define closesocket(s) close(s)
 
 #endif /* !_WIN32 */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]