bzero(&server_addr.sin_zero, 8);
if (connect(wsi->sock, (struct sockaddr *)&server_addr,
- sizeof(struct sockaddr)) == -1 || errno == EISCONN) {
+ sizeof(struct sockaddr)) == -1 || LWS_ERRNO == LWS_EISCONN) {
- if (errno == EALREADY || errno == EINPROGRESS) {
+ if (LWS_ERRNO == LWS_EALREADY || LWS_ERRNO == LWS_EINPROGRESS) {
lwsl_client("nonblocking connect retry\n");
/*
return wsi;
}
- if (errno != EISCONN) {
+ if (LWS_ERRNO != LWS_EISCONN) {
- lwsl_debug("Connect failed errno=%d\n", errno);
+ lwsl_debug("Connect failed errno=%d\n", LWS_ERRNO);
goto failed;
}
}
sizeof(context->service_buffer), 0);
if (n < 0) {
- if (errno == EAGAIN) {
+ if (LWS_ERRNO == LWS_EAGAIN) {
lwsl_debug(
"Proxy read returned EAGAIN... retrying\n");
return 0;
n = shutdown(wsi->sock, SHUT_RDWR);
if (n)
lwsl_debug("closing: shutdown returned %d\n",
- errno);
+ LWS_ERRNO);
n = compatible_close(wsi->sock);
if (n)
lwsl_debug("closing: close returned %d\n",
- errno);
+ LWS_ERRNO);
}
#ifdef LWS_OPENSSL_SUPPORT
}
len = sizeof(sin);
if (getpeername(fd, (struct sockaddr *) &sin, &len) < 0) {
- lwsl_warn("getpeername: %s\n", strerror(errno));
+ lwsl_warn("getpeername: %s\n", strerror(LWS_ERRNO));
goto bail;
}
host = gethostbyaddr((char *) &sin.sin_addr, sizeof(sin.sin_addr),
AF_INET);
if (host == NULL) {
- lwsl_warn("gethostbyaddr: %s\n", strerror(errno));
+ lwsl_warn("gethostbyaddr: %s\n", strerror(LWS_ERRNO));
goto bail;
}
if (eff_buf.token_len < 0) {
lwsl_debug("service_fd read ret = %d, errno = %d\n",
- eff_buf.token_len, errno);
- if (errno != EINTR && errno != EAGAIN)
+ eff_buf.token_len, LWS_ERRNO);
+ if (LWS_ERRNO != LWS_EINTR && LWS_ERRNO != LWS_EAGAIN)
goto close_and_handled;
n = 0;
goto handled;
}
if (n < 0) {
- if (errno != EINTR)
+ if (LWS_ERRNO != LWS_EINTR)
return -1;
else
return 0;
sizeof(serv_addr));
if (n < 0) {
lwsl_err("ERROR on binding to port %d (%d %d)\n",
- info->port, n, errno);
+ info->port, n, LWS_ERRNO);
compatible_close(sockfd);
goto bail;
}
#else
if (info->gid != -1)
if (setgid(info->gid))
- lwsl_warn("setgid: %s\n", strerror(errno));
+ lwsl_warn("setgid: %s\n", strerror(LWS_ERRNO));
if (info->uid != -1)
if (setuid(info->uid))
- lwsl_warn("setuid: %s\n", strerror(errno));
+ lwsl_warn("setuid: %s\n", strerror(LWS_ERRNO));
#endif
/* initialize supported protocols */
n = SSL_write(wsi->ssl, buf, len);
lws_latency(context, wsi, "SSL_write lws_issue_raw", n, n >= 0);
if (n < 0) {
- if (errno == EAGAIN || errno == EINTR) {
+ if (LWS_ERRNO == LWS_EAGAIN || LWS_ERRNO == LWS_EINTR) {
n = 0;
goto handle_truncated_send;
}
n = send(wsi->sock, buf, len, MSG_NOSIGNAL);
lws_latency(context, wsi, "send lws_issue_raw", n, n == len);
if (n < 0) {
- if (errno == EAGAIN || errno == EINTR) {
+ if (LWS_ERRNO == LWS_EAGAIN || LWS_ERRNO == LWS_EINTR) {
n = 0;
goto handle_truncated_send;
}
#if defined(WIN32) || defined(_WIN32)
#define LWS_NO_DAEMONIZE
-#ifndef EWOULDBLOCK
-#define EWOULDBLOCK EAGAIN
-#endif
-#ifndef EALREADY
-#define EALREADY WSAEALREADY
-#endif
-#ifndef EINPROGRESS
-#define EINPROGRESS WSAEINPROGRESS
-#endif
-#ifndef EISCONN
-#define EISCONN WSAEISCONN
-#endif
+#define LWS_ERRNO WSAGetLastError()
+#define LWS_EAGAIN WSAEWOULDBLOCK
+#define LWS_EALREADY WSAEALREADY
+#define LWS_EINPROGRESS WSAEINPROGRESS
+#define LWS_EINTR WSAEINTR
+#define LWS_EISCONN WSAEISCONN
+#define LWS_EWOULDBLOCK WSAEWOULDBLOCK
#define compatible_close(fd) closesocket(fd);
#ifdef __MINGW64__
#include <sys/mman.h>
#include <sys/time.h>
+#define LWS_ERRNO errno
+#define LWS_EAGAIN EAGAIN
+#define LWS_EALREADY EALREADY
+#define LWS_EINPROGRESS EINPROGRESS
+#define LWS_EINTR EINTR
+#define LWS_EISCONN EISCONN
+#define LWS_EWOULDBLOCK EWOULDBLOCK
#define LWS_INVALID_FILE -1
#define compatible_close(fd) close(fd);
#endif
if (len < 0) {
lwsl_debug("Socket read returned %d\n", len);
- if (errno != EINTR && errno != EAGAIN)
+ if (LWS_ERRNO != LWS_EINTR && LWS_ERRNO != LWS_EAGAIN)
libwebsocket_close_and_free_session(
context, wsi,
LWS_CLOSE_STATUS_NOSTATUS);
"unencrypted accept LWS_CONNMODE_SERVER_LISTENER",
accept_fd, accept_fd >= 0);
if (accept_fd < 0) {
- if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ if (LWS_ERRNO == LWS_EAGAIN || LWS_ERRNO == LWS_EWOULDBLOCK) {
lwsl_debug("accept asks to try again\n");
break;
}
- lwsl_warn("ERROR on accept: %s\n", strerror(errno));
+ lwsl_warn("ERROR on accept: %s\n", strerror(LWS_ERRNO));
break;
}
#endif
#include <stdlib.h>
-#include <errno.h>
#include "websock-w32.h"
PFNWSAPOLL poll = NULL;
WSAPOLLFD * poll_fd = fdarray;
if (NULL == fdarray) {
- errno = EFAULT;
+ WSASetLastError(WSAEFAULT);
return -1;
}