diff options
-rw-r--r-- | qemu-sockets.c | 24 | ||||
-rw-r--r-- | qemu_socket.h | 1 | ||||
-rw-r--r-- | vl.c | 24 |
3 files changed, 25 insertions, 24 deletions
diff --git a/qemu-sockets.c b/qemu-sockets.c index 23c3def2a4..a7399aa945 100644 --- a/qemu-sockets.c +++ b/qemu-sockets.c @@ -648,3 +648,27 @@ int unix_connect(const char *path) } #endif + +#ifdef _WIN32 +static void socket_cleanup(void) +{ + WSACleanup(); +} +#endif + +int socket_init(void) +{ +#ifdef _WIN32 + WSADATA Data; + int ret, err; + + ret = WSAStartup(MAKEWORD(2,2), &Data); + if (ret != 0) { + err = WSAGetLastError(); + fprintf(stderr, "WSAStartup: %d\n", err); + return -1; + } + atexit(socket_cleanup); +#endif + return 0; +} diff --git a/qemu_socket.h b/qemu_socket.h index 7ee46ac4ec..164ae3eb4e 100644 --- a/qemu_socket.h +++ b/qemu_socket.h @@ -56,5 +56,6 @@ int parse_host_port(struct sockaddr_in *saddr, const char *str); int parse_host_src_port(struct sockaddr_in *haddr, struct sockaddr_in *saddr, const char *str); +int socket_init(void); #endif /* QEMU_SOCKET_H */ @@ -494,28 +494,6 @@ static void configure_rtc(QemuOpts *opts) } } -#ifdef _WIN32 -static void socket_cleanup(void) -{ - WSACleanup(); -} - -static int socket_init(void) -{ - WSADATA Data; - int ret, err; - - ret = WSAStartup(MAKEWORD(2,2), &Data); - if (ret != 0) { - err = WSAGetLastError(); - fprintf(stderr, "WSAStartup: %d\n", err); - return -1; - } - atexit(socket_cleanup); - return 0; -} -#endif - /***********************************************************/ /* Bluetooth support */ static int nb_hcis; @@ -3619,9 +3597,7 @@ int main(int argc, char **argv, char **envp) } configure_icount(icount_option); -#ifdef _WIN32 socket_init(); -#endif if (net_init_clients() < 0) { exit(1); |