Merge pull request #38 from Curculigo/master

Fix compilation on FreeBSD
This commit is contained in:
no_one
2024-08-16 10:30:31 +08:00
committed by GitHub
5 changed files with 22 additions and 11 deletions

View File

@@ -10,6 +10,7 @@
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "common/network/io_handle.h"
@@ -174,4 +175,4 @@ SysCallInt32Result OsHandle::Readv(int64_t sockfd, Iovec *vec, uint32_t vec_len)
return {ret, 0};
}
}
}

View File

@@ -6,13 +6,17 @@ aux_source_directory(${PROJECT_SOURCE_DIR} src_files)
aux_source_directory(${PROJECT_SOURCE_DIR}/event src_files)
aux_source_directory(${PROJECT_SOURCE_DIR}/socket src_files)
IF (WIN32)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll src_files)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll/wepoll src_files)
ELSEIF (APPLE)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/kqueue src_files)
ELSEIF (UNIX)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll src_files)
ENDIF ()
IF(WIN32)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll src_files)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll/wepoll src_files)
ELSEIF(APPLE)
aux_source_directory(${PROJECT_SOURCE_DIR}/event/kqueue src_files)
ELSEIF(UNIX)
IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
aux_source_directory(${PROJECT_SOURCE_DIR}/event/kqueue src_files)
ELSE()
aux_source_directory(${PROJECT_SOURCE_DIR}/event/epoll src_files)
ENDIF()
ENDIF()
SET(cppnet_source ${src_files} PARENT_SCOPE)
SET(cppnet_source ${src_files} PARENT_SCOPE)

View File

@@ -25,6 +25,10 @@ ifeq ($(detected_OS),Darwin) # Mac OS X
SRCS += $(wildcard ./cppnet/event/kqueue/*.cpp)
endif
ifeq ($(detected_OS),FreeBSD) # FreeBSD
SRCS += $(wildcard ./cppnet/event/kqueue/*.cpp)
endif
OBJS = $(patsubst %.cpp, %.o, $(SRCS))
@@ -49,4 +53,4 @@ $(TARGET):$(OBJS)
$(CC) -c $< -o $@ $(CCFLAGS) $(INCLUDES)
clean:
rm -rf $(OBJS) $(TARGET) $(SERBIN) $(CLIBIN)
rm -rf $(OBJS) $(TARGET) $(SERBIN) $(CLIBIN)

View File

@@ -16,6 +16,7 @@ void SetNoDelay(const uint64_t& sock) {
int ret = setsockopt(sock, SOL_SOCKET, TCP_NODELAY, (const char*)&opt, sizeof(opt));
}
#else
#include <sys/socket.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
void SetNoDelay(const uint64_t& sock) {

View File

@@ -10,6 +10,7 @@ void SetNoDelay(const uint64_t& sock) {
int ret = setsockopt(sock, SOL_SOCKET, TCP_NODELAY, (const char*)&opt, sizeof(opt));
}
#else
#include <sys/socket.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
void SetNoDelay(const uint64_t& sock) {