From 14c90236b71af8b872ace3788758d94d527c0e31 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Wed, 5 Aug 2020 16:24:10 +0800 Subject: [PATCH] TD-1057 --- deps/wepoll/inc/wepoll.h | 8 +-- deps/wepoll/src/wepoll.c | 18 +++--- src/cq/test/CMakeLists.txt | 6 -- src/mnode/CMakeLists.txt | 4 -- src/os/inc/osSocket.h | 5 +- src/os/inc/osWindows.h | 14 +++-- src/os/src/darwin/darwinSocket.c | 2 +- src/os/src/detail/osSocket.c | 4 +- src/os/src/windows/w64Socket.c | 4 +- src/rpc/src/rpcTcp.c | 39 ++++++------ src/rpc/src/rpcUdp.c | 2 +- src/rpc/test/CMakeLists.txt | 6 +- src/sync/test/CMakeLists.txt | 6 +- src/util/inc/tsocket.h | 20 +++--- src/util/src/tsocket.c | 64 ++++++++++---------- src/wal/test/CMakeLists.txt | 6 +- tests/comparisonTest/tdengine/CMakeLists.txt | 7 +-- tests/tsim/CMakeLists.txt | 6 +- 18 files changed, 99 insertions(+), 122 deletions(-) diff --git a/deps/wepoll/inc/wepoll.h b/deps/wepoll/inc/wepoll.h index 9b5dc94597..afe2e14a6d 100644 --- a/deps/wepoll/inc/wepoll.h +++ b/deps/wepoll/inc/wepoll.h @@ -69,7 +69,7 @@ enum EPOLL_EVENTS { #define EPOLL_CTL_DEL 3 typedef void* HANDLE; -typedef uintptr_t SOCKET; +//typedef uintptr_t SOCKET; typedef union epoll_data { void* ptr; @@ -92,14 +92,14 @@ extern "C" { WEPOLL_EXPORT HANDLE epoll_create(int size); WEPOLL_EXPORT HANDLE epoll_create1(int flags); -WEPOLL_EXPORT int epoll_close(HANDLE ephnd); +WEPOLL_EXPORT int epoll_close(SOCKET ephnd); -WEPOLL_EXPORT int epoll_ctl(HANDLE ephnd, +WEPOLL_EXPORT int epoll_ctl(SOCKET ephnd, int op, SOCKET sock, struct epoll_event* event); -WEPOLL_EXPORT int epoll_wait(HANDLE ephnd, +WEPOLL_EXPORT int epoll_wait(SOCKET ephnd, struct epoll_event* events, int maxevents, int timeout); diff --git a/deps/wepoll/src/wepoll.c b/deps/wepoll/src/wepoll.c index 8b1ef1f9f6..efe68624e2 100644 --- a/deps/wepoll/src/wepoll.c +++ b/deps/wepoll/src/wepoll.c @@ -89,14 +89,14 @@ extern "C" { WEPOLL_EXPORT HANDLE epoll_create(int size); WEPOLL_EXPORT HANDLE epoll_create1(int flags); -WEPOLL_EXPORT int epoll_close(HANDLE ephnd); +WEPOLL_EXPORT int epoll_close(SOCKET ephnd); -WEPOLL_EXPORT int epoll_ctl(HANDLE ephnd, +WEPOLL_EXPORT int epoll_ctl(SOCKET ephnd, int op, SOCKET sock, struct epoll_event* event); -WEPOLL_EXPORT int epoll_wait(HANDLE ephnd, +WEPOLL_EXPORT int epoll_wait(SOCKET ephnd, struct epoll_event* events, int maxevents, int timeout); @@ -593,7 +593,7 @@ HANDLE epoll_create1(int flags) { return epoll__create(); } -int epoll_close(HANDLE ephnd) { +int epoll_close(SOCKET ephnd) { ts_tree_node_t* tree_node; port_state_t* port_state; @@ -614,11 +614,11 @@ int epoll_close(HANDLE ephnd) { return port_delete(port_state); err: - err_check_handle(ephnd); + err_check_handle((HANDLE)ephnd); return -1; } -int epoll_ctl(HANDLE ephnd, int op, SOCKET sock, struct epoll_event* ev) { +int epoll_ctl(SOCKET ephnd, int op, SOCKET sock, struct epoll_event* ev) { ts_tree_node_t* tree_node; port_state_t* port_state; int r; @@ -645,12 +645,12 @@ int epoll_ctl(HANDLE ephnd, int op, SOCKET sock, struct epoll_event* ev) { err: /* On Linux, in the case of epoll_ctl(), EBADF takes priority over other * errors. Wepoll mimics this behavior. */ - err_check_handle(ephnd); + err_check_handle((HANDLE) ephnd); err_check_handle((HANDLE) sock); return -1; } -int epoll_wait(HANDLE ephnd, +int epoll_wait(SOCKET ephnd, struct epoll_event* events, int maxevents, int timeout) { @@ -681,7 +681,7 @@ int epoll_wait(HANDLE ephnd, return num_events; err: - err_check_handle(ephnd); + err_check_handle((HANDLE) ephnd); return -1; } diff --git a/src/cq/test/CMakeLists.txt b/src/cq/test/CMakeLists.txt index 82781f531a..59c0ac79cf 100644 --- a/src/cq/test/CMakeLists.txt +++ b/src/cq/test/CMakeLists.txt @@ -1,12 +1,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/cq/inc) - LIST(APPEND CQTEST_SRC ./cqtest.c) ADD_EXECUTABLE(cqtest ${CQTEST_SRC}) TARGET_LINK_LIBRARIES(cqtest tcq) diff --git a/src/mnode/CMakeLists.txt b/src/mnode/CMakeLists.txt index cd3be5da62..ff5c9335b6 100644 --- a/src/mnode/CMakeLists.txt +++ b/src/mnode/CMakeLists.txt @@ -2,10 +2,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) IF (TD_LINUX) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/query/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/dnode/inc) diff --git a/src/os/inc/osSocket.h b/src/os/inc/osSocket.h index 10fed022bb..b9be39307c 100644 --- a/src/os/inc/osSocket.h +++ b/src/os/inc/osSocket.h @@ -32,6 +32,7 @@ extern "C" { x = FD_INITIALIZER; \ } \ } + typedef int SOCKET; #endif #define taosClose(x) taosCloseSocket(x) @@ -54,11 +55,11 @@ extern "C" { #endif // TAOS_OS_FUNC_SOCKET -int taosSetNonblocking(int sock, int on); +int taosSetNonblocking(SOCKET sock, int on); void taosBlockSIGPIPE(); // TAOS_OS_FUNC_SOCKET_SETSOCKETOPT -int taosSetSockOpt(int socketfd, int level, int optname, void *optval, int optlen); +int taosSetSockOpt(SOCKET socketfd, int level, int optname, void *optval, int optlen); #ifdef __cplusplus } diff --git a/src/os/inc/osWindows.h b/src/os/inc/osWindows.h index 1118b3c64b..933e927d14 100644 --- a/src/os/inc/osWindows.h +++ b/src/os/inc/osWindows.h @@ -85,11 +85,15 @@ extern "C" { #define TAOS_OS_FUNC_SOCKET #define TAOS_OS_FUNC_SOCKET_SETSOCKETOPT #define TAOS_OS_FUNC_SOCKET_OP - #define taosSend(sockfd, buf, len, flags) send(sockfd, buf, len, flags) - #define taosSendto(sockfd, buf, len, flags, dest_addr, addrlen) sendto(sockfd, buf, len, flags, dest_addr, addrlen) - #define taosWriteSocket(fd, buf, len) send(fd, buf, len, 0) - #define taosReadSocket(fd, buf, len) recv(fd, buf, len, 0) - #define taosCloseSocket(fd) closesocket(fd) + #define taosSend(sockfd, buf, len, flags) send((SOCKET)sockfd, buf, len, flags) + #define taosSendto(sockfd, buf, len, flags, dest_addr, addrlen) sendto((SOCKET)sockfd, buf, len, flags, dest_addr, addrlen) + #define taosWriteSocket(fd, buf, len) send((SOCKET)fd, buf, len, 0) + #define taosReadSocket(fd, buf, len) recv((SOCKET)fd, buf, len, 0) + #define taosCloseSocket(fd) closesocket((SOCKET)fd) + +typedef SOCKET eventfd_t; +#define eventfd(a, b) -1 + #define TAOS_OS_FUNC_STRING_WCHAR int twcslen(const wchar_t *wcs); diff --git a/src/os/src/darwin/darwinSocket.c b/src/os/src/darwin/darwinSocket.c index e51f2c4fba..69a4666d34 100644 --- a/src/os/src/darwin/darwinSocket.c +++ b/src/os/src/darwin/darwinSocket.c @@ -16,7 +16,7 @@ #define _DEFAULT_SOURCE #include "os.h" -int taosSetSockOpt(int socketfd, int level, int optname, void *optval, int optlen) { +int taosSetSockOpt(SOCKET socketfd, int level, int optname, void *optval, int optlen) { if (level == SOL_SOCKET && optname == SO_SNDBUF) { return 0; } diff --git a/src/os/src/detail/osSocket.c b/src/os/src/detail/osSocket.c index 7e4031eff9..c8ad6a5acc 100644 --- a/src/os/src/detail/osSocket.c +++ b/src/os/src/detail/osSocket.c @@ -19,7 +19,7 @@ #ifndef TAOS_OS_FUNC_SOCKET -int taosSetNonblocking(int sock, int on) { +int taosSetNonblocking(SOCKET sock, int on) { int flags = 0; if ((flags = fcntl(sock, F_GETFL, 0)) < 0) { uError("fcntl(F_GETFL) error: %d (%s)\n", errno, strerror(errno)); @@ -53,7 +53,7 @@ void taosBlockSIGPIPE() { #ifndef TAOS_OS_FUNC_SOCKET_SETSOCKETOPT -int taosSetSockOpt(int socketfd, int level, int optname, void *optval, int optlen) { +int taosSetSockOpt(SOCKET socketfd, int level, int optname, void *optval, int optlen) { return setsockopt(socketfd, level, optname, optval, (socklen_t)optlen); } diff --git a/src/os/src/windows/w64Socket.c b/src/os/src/windows/w64Socket.c index dbe501b645..dd8961da40 100644 --- a/src/os/src/windows/w64Socket.c +++ b/src/os/src/windows/w64Socket.c @@ -34,7 +34,7 @@ void taosWinSocketInit() { } } -int taosSetNonblocking(int sock, int on) { +int taosSetNonblocking(SOCKET sock, int on) { u_long mode; if (on) { mode = 1; @@ -48,7 +48,7 @@ int taosSetNonblocking(int sock, int on) { void taosBlockSIGPIPE() {} -int taosSetSockOpt(int socketfd, int level, int optname, void *optval, int optlen) { +int taosSetSockOpt(SOCKET socketfd, int level, int optname, void *optval, int optlen) { if (level == SOL_SOCKET && optname == TCP_KEEPCNT) { return 0; } diff --git a/src/rpc/src/rpcTcp.c b/src/rpc/src/rpcTcp.c index c69456b8e2..ac617edfc3 100644 --- a/src/rpc/src/rpcTcp.c +++ b/src/rpc/src/rpcTcp.c @@ -21,6 +21,9 @@ #include "rpcLog.h" #include "rpcHead.h" #include "rpcTcp.h" +#ifdef WINDOWS +#include "wepoll.h" +#endif #ifndef EPOLLWAKEUP #define EPOLLWAKEUP (1u << 29) @@ -28,7 +31,7 @@ typedef struct SFdObj { void *signature; - int fd; // TCP socket FD + SOCKET fd; // TCP socket FD int closedByApp; // 1: already closed by App void *thandle; // handle from upper layer, like TAOS uint32_t ip; @@ -44,7 +47,7 @@ typedef struct SThreadObj { pthread_mutex_t mutex; uint32_t ip; bool stop; - int pollFd; + SOCKET pollFd; int numOfFds; int threadId; char label[TSDB_LABEL_LEN]; @@ -53,7 +56,7 @@ typedef struct SThreadObj { } SThreadObj; typedef struct { - int fd; + SOCKET fd; uint32_t ip; uint16_t port; char label[TSDB_LABEL_LEN]; @@ -64,7 +67,7 @@ typedef struct { } SServerObj; static void *taosProcessTcpData(void *param); -static SFdObj *taosMallocFdObj(SThreadObj *pThreadObj, int fd); +static SFdObj *taosMallocFdObj(SThreadObj *pThreadObj, SOCKET fd); static void taosFreeFdObj(SFdObj *pFdObj); static void taosReportBrokenLink(SFdObj *pFdObj); static void *taosAcceptTcpConnection(void *arg); @@ -120,7 +123,7 @@ void *taosInitTcpServer(uint32_t ip, uint16_t port, char *label, int numOfThread break; } - pThreadObj->pollFd = epoll_create(10); // size does not matter + pThreadObj->pollFd = (int64_t)epoll_create(10); // size does not matter if (pThreadObj->pollFd < 0) { tError("%s failed to create TCP epoll", label); code = -1; @@ -163,7 +166,7 @@ static void taosStopTcpThread(SThreadObj* pThreadObj) { pThreadObj->stop = true; eventfd_t fd = -1; - if (pThreadObj->thread && pThreadObj->pollFd >=0) { + if (taosCheckPthreadValid(pThreadObj->thread) && pThreadObj->pollFd >= 0) { // signal the thread to stop, try graceful method first, // and use pthread_cancel when failed struct epoll_event event = { .events = EPOLLIN }; @@ -179,9 +182,9 @@ static void taosStopTcpThread(SThreadObj* pThreadObj) { } } - if (pThreadObj->thread) pthread_join(pThreadObj->thread, NULL); - if (pThreadObj->pollFd >=0) close(pThreadObj->pollFd); - if (fd != -1) close(fd); + if (taosCheckPthreadValid(pThreadObj->thread)) pthread_join(pThreadObj->thread, NULL); + if (pThreadObj->pollFd >=0) taosCloseSocket(pThreadObj->pollFd); + if (fd != -1) taosCloseSocket(fd); while (pThreadObj->pHead) { SFdObj *pFdObj = pThreadObj->pHead; @@ -195,7 +198,7 @@ void taosStopTcpServer(void *handle) { if (pServerObj == NULL) return; if(pServerObj->fd >=0) shutdown(pServerObj->fd, SHUT_RD); - if(pServerObj->thread) pthread_join(pServerObj->thread, NULL); + if (taosCheckPthreadValid(pServerObj->thread)) pthread_join(pServerObj->thread, NULL); tDebug("%s TCP server is stopped", pServerObj->label); } @@ -218,7 +221,7 @@ void taosCleanUpTcpServer(void *handle) { } static void *taosAcceptTcpConnection(void *arg) { - int connFd = -1; + SOCKET connFd = -1; struct sockaddr_in caddr; int threadId = 0; SThreadObj *pThreadObj; @@ -252,7 +255,7 @@ static void *taosAcceptTcpConnection(void *arg) { tDebug("%s new TCP connection from %s:%hu, fd:%d FD:%p numOfFds:%d", pServerObj->label, inet_ntoa(caddr.sin_addr), pFdObj->port, connFd, pFdObj, pThreadObj->numOfFds); } else { - close(connFd); + taosCloseSocket(connFd); tError("%s failed to malloc FdObj(%s) for connection from:%s:%hu", pServerObj->label, strerror(errno), inet_ntoa(caddr.sin_addr), htons(caddr.sin_port)); } @@ -262,7 +265,7 @@ static void *taosAcceptTcpConnection(void *arg) { threadId = threadId % pServerObj->numOfThreads; } - close(pServerObj->fd); + taosCloseSocket(pServerObj->fd); return NULL; } @@ -283,7 +286,7 @@ void *taosInitTcpClient(uint32_t ip, uint16_t port, char *label, int num, void * return NULL; } - pThreadObj->pollFd = epoll_create(10); // size does not matter + pThreadObj->pollFd = (SOCKET)epoll_create(10); // size does not matter if (pThreadObj->pollFd < 0) { tError("%s failed to create TCP client epoll", label); free(pThreadObj); @@ -298,7 +301,7 @@ void *taosInitTcpClient(uint32_t ip, uint16_t port, char *label, int num, void * int code = pthread_create(&(pThreadObj->thread), &thattr, taosProcessTcpData, (void *)(pThreadObj)); pthread_attr_destroy(&thattr); if (code != 0) { - close(pThreadObj->pollFd); + taosCloseSocket(pThreadObj->pollFd); free(pThreadObj); terrno = TAOS_SYSTEM_ERROR(errno); tError("%s failed to create TCP read data thread(%s)", label, strerror(errno)); @@ -330,7 +333,7 @@ void taosCleanUpTcpClient(void *chandle) { void *taosOpenTcpClientConnection(void *shandle, void *thandle, uint32_t ip, uint16_t port) { SThreadObj * pThreadObj = shandle; - int fd = taosOpenTcpClientSocket(ip, port, pThreadObj->ip); + SOCKET fd = taosOpenTcpClientSocket(ip, port, pThreadObj->ip); if (fd < 0) return NULL; struct sockaddr_in sin; @@ -350,7 +353,7 @@ void *taosOpenTcpClientConnection(void *shandle, void *thandle, uint32_t ip, uin tDebug("%s %p TCP connection to 0x%x:%hu is created, localPort:%hu FD:%p numOfFds:%d", pThreadObj->label, thandle, ip, port, localPort, pFdObj, pThreadObj->numOfFds); } else { - close(fd); + taosCloseSocket(fd); tError("%s failed to malloc client FdObj(%s)", pThreadObj->label, strerror(errno)); } @@ -502,7 +505,7 @@ static void *taosProcessTcpData(void *param) { return NULL; } -static SFdObj *taosMallocFdObj(SThreadObj *pThreadObj, int fd) { +static SFdObj *taosMallocFdObj(SThreadObj *pThreadObj, SOCKET fd) { struct epoll_event event; SFdObj *pFdObj = (SFdObj *)calloc(sizeof(SFdObj), 1); diff --git a/src/rpc/src/rpcUdp.c b/src/rpc/src/rpcUdp.c index 7e59210cae..8e24aed8f7 100644 --- a/src/rpc/src/rpcUdp.c +++ b/src/rpc/src/rpcUdp.c @@ -31,7 +31,7 @@ typedef struct { int index; - int fd; + SOCKET fd; uint16_t port; // peer port uint16_t localPort; // local port char label[TSDB_LABEL_LEN]; // copy from udpConnSet; diff --git a/src/rpc/test/CMakeLists.txt b/src/rpc/test/CMakeLists.txt index ac7ea8e4c1..60564c8746 100644 --- a/src/rpc/test/CMakeLists.txt +++ b/src/rpc/test/CMakeLists.txt @@ -1,13 +1,9 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/rpc/inc) -IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM)) +IF (TD_LINUX_64) LIST(APPEND CLIENT_SRC ./rclient.c) ADD_EXECUTABLE(rclient ${CLIENT_SRC}) TARGET_LINK_LIBRARIES(rclient trpc) diff --git a/src/sync/test/CMakeLists.txt b/src/sync/test/CMakeLists.txt index 89d739080f..a309539024 100644 --- a/src/sync/test/CMakeLists.txt +++ b/src/sync/test/CMakeLists.txt @@ -1,11 +1,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) -IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM)) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) +IF (TD_LINUX_64) INCLUDE_DIRECTORIES(../inc) LIST(APPEND CLIENT_SRC ./syncClient.c) diff --git a/src/util/inc/tsocket.h b/src/util/inc/tsocket.h index 97abc16333..f14e8dbb35 100644 --- a/src/util/inc/tsocket.h +++ b/src/util/inc/tsocket.h @@ -20,17 +20,17 @@ extern "C" { #endif -int taosReadn(int sock, char *buffer, int len); -int taosWriteMsg(int fd, void *ptr, int nbytes); -int taosReadMsg(int fd, void *ptr, int nbytes); -int taosNonblockwrite(int fd, char *ptr, int nbytes); -int taosCopyFds(int sfd, int dfd, int64_t len); -int taosSetNonblocking(int sock, int on); +int taosReadn(SOCKET sock, char *buffer, int len); +int taosWriteMsg(SOCKET fd, void *ptr, int nbytes); +int taosReadMsg(SOCKET fd, void *ptr, int nbytes); +int taosNonblockwrite(SOCKET fd, char *ptr, int nbytes); +int taosCopyFds(SOCKET sfd, SOCKET dfd, int64_t len); +int taosSetNonblocking(SOCKET sock, int on); -int taosOpenUdpSocket(uint32_t localIp, uint16_t localPort); -int taosOpenTcpClientSocket(uint32_t ip, uint16_t port, uint32_t localIp); -int taosOpenTcpServerSocket(uint32_t ip, uint16_t port); -int taosKeepTcpAlive(int sockFd); +SOCKET taosOpenUdpSocket(uint32_t localIp, uint16_t localPort); +SOCKET taosOpenTcpClientSocket(uint32_t ip, uint16_t port, uint32_t localIp); +SOCKET taosOpenTcpServerSocket(uint32_t ip, uint16_t port); +int taosKeepTcpAlive(SOCKET sockFd); int taosGetFqdn(char *); uint32_t taosGetIpFromFqdn(const char *); diff --git a/src/util/src/tsocket.c b/src/util/src/tsocket.c index 6f4d2b8afd..9abda0e196 100644 --- a/src/util/src/tsocket.c +++ b/src/util/src/tsocket.c @@ -90,7 +90,7 @@ uint32_t ip2uint(const char *const ip_addr) { return *((unsigned int *)ip); } -int taosWriteMsg(int fd, void *buf, int nbytes) { +int taosWriteMsg(SOCKET fd, void *buf, int nbytes) { int nleft, nwritten; char *ptr = (char *)buf; @@ -112,7 +112,7 @@ int taosWriteMsg(int fd, void *buf, int nbytes) { return (nbytes - nleft); } -int taosReadMsg(int fd, void *buf, int nbytes) { +int taosReadMsg(SOCKET fd, void *buf, int nbytes) { int nleft, nread; char *ptr = (char *)buf; @@ -139,7 +139,7 @@ int taosReadMsg(int fd, void *buf, int nbytes) { return (nbytes - nleft); } -int taosNonblockwrite(int fd, char *ptr, int nbytes) { +int taosNonblockwrite(SOCKET fd, char *ptr, int nbytes) { taosSetNonblocking(fd, 1); int nleft, nwritten, nready; @@ -152,7 +152,7 @@ int taosNonblockwrite(int fd, char *ptr, int nbytes) { tv.tv_usec = 0; FD_ZERO(&fset); FD_SET(fd, &fset); - if ((nready = select(fd + 1, NULL, &fset, NULL, &tv)) == 0) { + if ((nready = select((int)(fd + 1), NULL, &fset, NULL, &tv)) == 0) { errno = ETIMEDOUT; uError("fd %d timeout, no enough space to write", fd); break; @@ -181,7 +181,7 @@ int taosNonblockwrite(int fd, char *ptr, int nbytes) { return (nbytes - nleft); } -int taosReadn(int fd, char *ptr, int nbytes) { +int taosReadn(SOCKET fd, char *ptr, int nbytes) { int nread, nready, nleft = nbytes; fd_set fset; @@ -192,7 +192,7 @@ int taosReadn(int fd, char *ptr, int nbytes) { tv.tv_usec = 0; FD_ZERO(&fset); FD_SET(fd, &fset); - if ((nready = select(fd + 1, NULL, &fset, NULL, &tv)) == 0) { + if ((nready = select((int)(fd + 1), NULL, &fset, NULL, &tv)) == 0) { errno = ETIMEDOUT; uError("fd %d timeout\n", fd); break; @@ -219,9 +219,9 @@ int taosReadn(int fd, char *ptr, int nbytes) { return (nbytes - nleft); } -int taosOpenUdpSocket(uint32_t ip, uint16_t port) { +SOCKET taosOpenUdpSocket(uint32_t ip, uint16_t port) { struct sockaddr_in localAddr; - int sockFd; + SOCKET sockFd; int bufSize = 1024000; uDebug("open udp socket:0x%x:%hu", ip, port); @@ -238,32 +238,32 @@ int taosOpenUdpSocket(uint32_t ip, uint16_t port) { if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_SNDBUF, (void *)&bufSize, sizeof(bufSize)) != 0) { uError("failed to set the send buffer size for UDP socket\n"); - close(sockFd); + taosCloseSocket(sockFd); return -1; } if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_RCVBUF, (void *)&bufSize, sizeof(bufSize)) != 0) { uError("failed to set the receive buffer size for UDP socket\n"); - close(sockFd); + taosCloseSocket(sockFd); return -1; } /* bind socket to local address */ if (bind(sockFd, (struct sockaddr *)&localAddr, sizeof(localAddr)) < 0) { uError("failed to bind udp socket: %d (%s), 0x%x:%hu", errno, strerror(errno), ip, port); - close(sockFd); + taosCloseSocket(sockFd); return -1; } return sockFd; } -int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientIp) { - int sockFd = 0; +SOCKET taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientIp) { + SOCKET sockFd = 0; struct sockaddr_in serverAddr, clientAddr; int ret; - sockFd = (int)socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + sockFd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (sockFd < 0) { uError("failed to open the socket: %d (%s)", errno, strerror(errno)); @@ -274,11 +274,11 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI int reuse = 1; if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_REUSEADDR, (void *)&reuse, sizeof(reuse)) < 0) { uError("setsockopt SO_REUSEADDR failed: %d (%s)", errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; }; - if ( clientIp != 0) { + if (clientIp != 0) { memset((char *)&clientAddr, 0, sizeof(clientAddr)); clientAddr.sin_family = AF_INET; clientAddr.sin_addr.s_addr = clientIp; @@ -288,7 +288,7 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI if (bind(sockFd, (struct sockaddr *)&clientAddr, sizeof(clientAddr)) < 0) { uError("bind tcp client socket failed, client(0x%x:0), dest(0x%x:%d), reason:(%s)", clientIp, destIp, destPort, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } } @@ -302,7 +302,7 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI if (ret != 0) { //uError("failed to connect socket, ip:0x%x, port:%hu(%s)", destIp, destPort, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); sockFd = -1; } else { taosKeepTcpAlive(sockFd); @@ -311,39 +311,39 @@ int taosOpenTcpClientSocket(uint32_t destIp, uint16_t destPort, uint32_t clientI return sockFd; } -int taosKeepTcpAlive(int sockFd) { +int taosKeepTcpAlive(SOCKET sockFd) { int alive = 1; if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_KEEPALIVE, (void *)&alive, sizeof(alive)) < 0) { uError("fd:%d setsockopt SO_KEEPALIVE failed: %d (%s)", sockFd, errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } int probes = 3; if (taosSetSockOpt(sockFd, SOL_TCP, TCP_KEEPCNT, (void *)&probes, sizeof(probes)) < 0) { uError("fd:%d setsockopt SO_KEEPCNT failed: %d (%s)", sockFd, errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } int alivetime = 10; if (taosSetSockOpt(sockFd, SOL_TCP, TCP_KEEPIDLE, (void *)&alivetime, sizeof(alivetime)) < 0) { uError("fd:%d setsockopt SO_KEEPIDLE failed: %d (%s)", sockFd, errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } int interval = 3; if (taosSetSockOpt(sockFd, SOL_TCP, TCP_KEEPINTVL, (void *)&interval, sizeof(interval)) < 0) { uError("fd:%d setsockopt SO_KEEPINTVL failed: %d (%s)", sockFd, errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } int nodelay = 1; if (taosSetSockOpt(sockFd, IPPROTO_TCP, TCP_NODELAY, (void *)&nodelay, sizeof(nodelay)) < 0) { uError("fd:%d setsockopt TCP_NODELAY failed %d (%s)", sockFd, errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } @@ -352,16 +352,16 @@ int taosKeepTcpAlive(int sockFd) { linger.l_linger = 3; if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_LINGER, (void *)&linger, sizeof(linger)) < 0) { uError("setsockopt SO_LINGER failed: %d (%s)", errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } return 0; } -int taosOpenTcpServerSocket(uint32_t ip, uint16_t port) { +SOCKET taosOpenTcpServerSocket(uint32_t ip, uint16_t port) { struct sockaddr_in serverAdd; - int sockFd; + SOCKET sockFd; int reuse; uDebug("open tcp server socket:0x%x:%hu", ip, port); @@ -380,26 +380,26 @@ int taosOpenTcpServerSocket(uint32_t ip, uint16_t port) { reuse = 1; if (taosSetSockOpt(sockFd, SOL_SOCKET, SO_REUSEADDR, (void *)&reuse, sizeof(reuse)) < 0) { uError("setsockopt SO_REUSEADDR failed: %d (%s)", errno, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; }; /* bind socket to server address */ if (bind(sockFd, (struct sockaddr *)&serverAdd, sizeof(serverAdd)) < 0) { uError("bind tcp server socket failed, 0x%x:%hu(%s)", ip, port, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } if (taosKeepTcpAlive(sockFd) < 0) { uError("failed to set tcp server keep-alive option, 0x%x:%hu(%s)", ip, port, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } if (listen(sockFd, 10) < 0) { uError("listen tcp server socket failed, 0x%x:%hu(%s)", ip, port, strerror(errno)); - close(sockFd); + taosCloseSocket(sockFd); return -1; } @@ -413,7 +413,7 @@ void tinet_ntoa(char *ipstr, unsigned int ip) { #define COPY_SIZE 32768 // sendfile shall be used -int taosCopyFds(int sfd, int dfd, int64_t len) { +int taosCopyFds(SOCKET sfd, SOCKET dfd, int64_t len) { int64_t leftLen; int readLen, writeLen; char temp[COPY_SIZE]; diff --git a/src/wal/test/CMakeLists.txt b/src/wal/test/CMakeLists.txt index bfa6aa1540..6fdb03710e 100644 --- a/src/wal/test/CMakeLists.txt +++ b/src/wal/test/CMakeLists.txt @@ -1,11 +1,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) -IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM)) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) - INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) +IF (TD_LINUX_64) INCLUDE_DIRECTORIES(../inc) LIST(APPEND WALTEST_SRC ./waltest.c) diff --git a/tests/comparisonTest/tdengine/CMakeLists.txt b/tests/comparisonTest/tdengine/CMakeLists.txt index ccdeefcdaf..2555bdce91 100644 --- a/tests/comparisonTest/tdengine/CMakeLists.txt +++ b/tests/comparisonTest/tdengine/CMakeLists.txt @@ -1,12 +1,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) -INCLUDE_DIRECTORIES(${TD_OS_DIR}/inc) - -IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM)) +IF (TD_LINUX_64) add_executable(tdengineTest tdengineTest.c) target_link_libraries(tdengineTest taos_static tutil common pthread) ENDIF() diff --git a/tests/tsim/CMakeLists.txt b/tests/tsim/CMakeLists.txt index 0a11a8f14e..64adce5945 100644 --- a/tests/tsim/CMakeLists.txt +++ b/tests/tsim/CMakeLists.txt @@ -1,14 +1,10 @@ PROJECT(TDengine) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) -INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/client/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/cJson/inc) INCLUDE_DIRECTORIES(inc) -IF (TD_WINDOWS_64) +IF (TD_WINDOWS) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/pthread) ENDIF () -- GitLab