Commit f5b122688b8d7912e7094be60cca4d3a2ee5a3e7
1 parent
62724a37
Windows sockets like to be different. Inspired by a patch from Alex Consul.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2535 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
8 additions
and
0 deletions
vl.c
@@ -2850,6 +2850,10 @@ static CharDriverState *qemu_chr_open_tcp(const char *host_str, | @@ -2850,6 +2850,10 @@ static CharDriverState *qemu_chr_open_tcp(const char *host_str, | ||
2850 | if (err == EINTR || err == EWOULDBLOCK) { | 2850 | if (err == EINTR || err == EWOULDBLOCK) { |
2851 | } else if (err == EINPROGRESS) { | 2851 | } else if (err == EINPROGRESS) { |
2852 | break; | 2852 | break; |
2853 | +#ifdef _WIN32 | ||
2854 | + } else if (err == WSAEALREADY) { | ||
2855 | + break; | ||
2856 | +#endif | ||
2853 | } else { | 2857 | } else { |
2854 | goto fail; | 2858 | goto fail; |
2855 | } | 2859 | } |
@@ -4017,6 +4021,10 @@ static int net_socket_connect_init(VLANState *vlan, const char *host_str) | @@ -4017,6 +4021,10 @@ static int net_socket_connect_init(VLANState *vlan, const char *host_str) | ||
4017 | if (err == EINTR || err == EWOULDBLOCK) { | 4021 | if (err == EINTR || err == EWOULDBLOCK) { |
4018 | } else if (err == EINPROGRESS) { | 4022 | } else if (err == EINPROGRESS) { |
4019 | break; | 4023 | break; |
4024 | +#ifdef _WIN32 | ||
4025 | + } else if (err == WSAEALREADY) { | ||
4026 | + break; | ||
4027 | +#endif | ||
4020 | } else { | 4028 | } else { |
4021 | perror("connect"); | 4029 | perror("connect"); |
4022 | closesocket(fd); | 4030 | closesocket(fd); |