Commit 34ec939a7538c6fe4d8479a613c7e886491aa352

Authored by Stéphane Raimbault
1 parent c9960a0f

Another quick workaround for deficient OS (closes #63)

It will better to code something such as:
https://github.com/crossroads-io/libxs/blob/master/src/err.cpp

I don't intend to rewrite glib neither :(
Showing 1 changed file with 6 additions and 1 deletions
src/modbus-tcp.c
1 /* 1 /*
2 - * Copyright © 2001-2011 Stéphane Raimbault <stephane.raimbault@gmail.com> 2 + * Copyright © 2001-2013 Stéphane Raimbault <stephane.raimbault@gmail.com>
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public 5 * modify it under the terms of the GNU Lesser General Public
@@ -255,7 +255,12 @@ static int _connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen, @@ -255,7 +255,12 @@ static int _connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen,
255 int rc; 255 int rc;
256 256
257 rc = connect(sockfd, addr, addrlen); 257 rc = connect(sockfd, addr, addrlen);
  258 +
  259 +#ifdef OS_WIN32
  260 + if (rc == -1 && WSAGetLastError() == WSAEINPROGRESS) {
  261 +#else
258 if (rc == -1 && errno == EINPROGRESS) { 262 if (rc == -1 && errno == EINPROGRESS) {
  263 +#endif
259 fd_set wset; 264 fd_set wset;
260 int optval; 265 int optval;
261 socklen_t optlen = sizeof(optval); 266 socklen_t optlen = sizeof(optval);