浏览代码

fix #396: blocking macro conflict with eigen

ithewei 1 年之前
父节点
当前提交
f0e11406ac
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11 3
      base/hsocket.h

+ 11 - 3
base/hsocket.h

@@ -66,13 +66,21 @@ HV_INLINE int nonblocking(int sockfd) {
 
 
 typedef int     hsocket_t;
 typedef int     hsocket_t;
 
 
-#define blocking(s)     fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK)
-#define nonblocking(s)  fcntl(s, F_SETFL, fcntl(s, F_GETFL) |  O_NONBLOCK)
-
 #ifndef SOCKET
 #ifndef SOCKET
 #define SOCKET int
 #define SOCKET int
 #endif
 #endif
+
+#ifndef INVALID_SOCKET
 #define INVALID_SOCKET  -1
 #define INVALID_SOCKET  -1
+#endif
+
+HV_INLINE int blocking(int s) {
+    return fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK);
+}
+
+HV_INLINE int nonblocking(int s) {
+    return fcntl(s, F_SETFL, fcntl(s, F_GETFL) |  O_NONBLOCK);
+}
 
 
 HV_INLINE int closesocket(int sockfd) {
 HV_INLINE int closesocket(int sockfd) {
     return close(sockfd);
     return close(sockfd);