From 88421e264548c2b1223d1a0bc8725cd241e567c3 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Thu, 18 Apr 2024 15:35:43 +0300 Subject: updates --- CMakeLists.txt | 3 +-- compile.sh | 30 +++++++++++++++++++++++++++ packaging/cmake/Modules/NetdataProtobuf.cmake | 17 +++++++++------ src/libnetdata/libnetdata.c | 4 ++++ src/libnetdata/libnetdata.h | 2 +- src/libnetdata/os.h | 2 +- src/libnetdata/popen/popen.c | 2 +- src/libnetdata/popen/popen.h | 15 ++++++++++++++ src/libnetdata/threads/threads.c | 2 +- 9 files changed, 65 insertions(+), 12 deletions(-) create mode 100755 compile.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index d6e8febecb..53ddbc7679 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -234,7 +234,7 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX True) set(COMPILED_FOR_LINUX True) add_definitions(-D_GNU_SOURCE) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Cygwin") +elseif(${CMAKE_SYSTEM_NAME} MATCHES "CYGWIN") set(CYGWIN True) set(COMPILED_FOR_CYGWIN True) else() @@ -1291,7 +1291,6 @@ set(NETDATA_FILES ${CLAIM_PLUGIN_FILES} ${SPAWN_PLUGIN_FILES} ${ACLK_ALWAYS_BUILD} - ${TIMEX_PLUGIN_FILES} ${PROFILE_PLUGIN_FILES} ) diff --git a/compile.sh b/compile.sh new file mode 100755 index 0000000000..e38bd3faa6 --- /dev/null +++ b/compile.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +set -exu -o pipefail + +export PATH="/usr/local/bin:${PATH}" + +WT_ROOT="/home/costa/src/netdata-ktsaou.git" +WT_PREFIX="/tmp" +BUILD_TYPE="Debug" + +if [ -d "${WT_ROOT}/build" ] +then + rm -rf "${WT_ROOT}/build" +fi + +/usr/bin/cmake -S "${WT_ROOT}" -B "${WT_ROOT}/build" \ + -G Ninja \ + -DCMAKE_INSTALL_PREFIX="${WT_PREFIX}" \ + -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ + -DCMAKE_C_FLAGS="-Wall -Wextra" \ + -DNETDATA_USER=costa \ + -DDEFAULT_FEATURE_STATE=Off \ + -DENABLE_H2O=Off \ + -DENABLE_LOGS_MANAGEMENT_TESTS=Off \ + -DENABLE_ACLK=On \ + -DENABLE_BUNDLED_PROTOBUF=Off \ +# -DENABLE_MQTTWEBSOCKETS=On \ + + +ninja -v -C build || ninja -v -C build -j 1 diff --git a/packaging/cmake/Modules/NetdataProtobuf.cmake b/packaging/cmake/Modules/NetdataProtobuf.cmake index d4ae3aec61..92d834f872 100644 --- a/packaging/cmake/Modules/NetdataProtobuf.cmake +++ b/packaging/cmake/Modules/NetdataProtobuf.cmake @@ -105,11 +105,11 @@ macro(netdata_detect_protobuf) # logic for the old FindProtobuf module while others do not. # # Upstream bug reference: https://gitlab.kitware.com/cmake/cmake/-/issues/24321 - find_package(Protobuf CONFIG) + # find_package(Protobuf CONFIG) if(NOT TARGET protobuf::libprotobuf) message(STATUS "Could not find Protobuf using Config mode, falling back to Module mode") - find_package(Protobuf REQUIRED) + # find_package(Protobuf REQUIRED) endif() endif() @@ -163,10 +163,15 @@ macro(netdata_detect_protobuf) set(NETDATA_PROTOBUF_INCLUDE_DIRS "") endif() else() - set(NETDATA_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE}) - set(NETDATA_PROTOBUF_CFLAGS_OTHER ${PROTOBUF_CFLAGS_OTHER}) - set(NETDATA_PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS}) - set(NETDATA_PROTOBUF_LIBS ${PROTOBUF_LIBRARIES}) + # set(NETDATA_PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE}) + # set(NETDATA_PROTOBUF_CFLAGS_OTHER ${PROTOBUF_CFLAGS_OTHER}) + # set(NETDATA_PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS}) + # set(NETDATA_PROTOBUF_LIBS ${PROTOBUF_LIBRARIES}) + + set(NETDATA_PROTOBUF_PROTOC_EXECUTABLE "/bin/protoc") + set(NETDATA_PROTOBUF_CFLAGS_OTHER "") + set(NETDATA_PROTOBUF_INCLUDE_DIRS "") + set(NETDATA_PROTOBUF_LIBS "-lprotobuf") endif() set(ENABLE_PROTOBUF True) diff --git a/src/libnetdata/libnetdata.c b/src/libnetdata/libnetdata.c index 2dcd8865c5..0ee08a8403 100644 --- a/src/libnetdata/libnetdata.c +++ b/src/libnetdata/libnetdata.c @@ -1125,12 +1125,16 @@ inline int madvise_random(void *mem, size_t len) { } inline int madvise_dontfork(void *mem, size_t len) { +#ifdef MADV_DONTFORK static int logger = 1; int ret = madvise(mem, len, MADV_DONTFORK); if (ret != 0 && logger-- > 0) netdata_log_error("madvise(MADV_DONTFORK) failed."); return ret; +#else + return 0; +#endif } inline int madvise_willneed(void *mem, size_t len) { diff --git a/src/libnetdata/libnetdata.h b/src/libnetdata/libnetdata.h index 21ae7ddc47..534e2e3d7e 100644 --- a/src/libnetdata/libnetdata.h +++ b/src/libnetdata/libnetdata.h @@ -108,7 +108,7 @@ extern "C" { #include #include #include -#include +// #include #include #include #include diff --git a/src/libnetdata/os.h b/src/libnetdata/os.h index 0e4a369635..2696a70935 100644 --- a/src/libnetdata/os.h +++ b/src/libnetdata/os.h @@ -60,7 +60,7 @@ pid_t get_system_pid_max(void); extern unsigned int system_hz; void get_system_HZ(void); -#include +// #include #if defined(__FreeBSD__) || defined(__APPLE__) #define ADJUST_TIMEX(x) ntp_adjtime(x) #else diff --git a/src/libnetdata/popen/popen.c b/src/libnetdata/popen/popen.c index 5f8bd2b4a6..4fd8ef9d0a 100644 --- a/src/libnetdata/popen/popen.c +++ b/src/libnetdata/popen/popen.c @@ -98,7 +98,7 @@ int netdata_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) { } else { // we haven't reaped this child yet - ret = waitid(idtype, id, infop, options); +// ret = waitid(idtype, id, infop, options); if(mp && !mp->reaped) { mp->reaped = true; diff --git a/src/libnetdata/popen/popen.h b/src/libnetdata/popen/popen.h index 4f86158bcb..5130834901 100644 --- a/src/libnetdata/popen/popen.h +++ b/src/libnetdata/popen/popen.h @@ -5,6 +5,11 @@ #include "../libnetdata.h" +# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ +# define WEXITED 4 /* Report dead child. */ +# define WCONTINUED 8 /* Report continued child. */ +# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ + #define PIPE_READ 0 #define PIPE_WRITE 1 @@ -28,6 +33,16 @@ int netdata_popene_variadic_internal_dont_use_directly(volatile pid_t *pidptr, c int netdata_pclose(FILE *fp_child_input, FILE *fp_child_output, pid_t pid); int netdata_spawn(const char *command, volatile pid_t *pidptr); + +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID, /* Wait for members of process group. */ + P_PIDFD, /* Wait for the child referred by the PID file + descriptor. */ +} idtype_t; + int netdata_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); #endif /* NETDATA_POPEN_H */ diff --git a/src/libnetdata/threads/threads.c b/src/libnetdata/threads/threads.c index 94761671ad..f9d8a13c69 100644 --- a/src/libnetdata/threads/threads.c +++ b/src/libnetdata/threads/threads.c @@ -105,7 +105,7 @@ pid_t gettid(void) { #else /* __APPLE__*/ - tid = (pid_t)syscall(SYS_gettid); + // tid = (pid_t)syscall(SYS_gettid); #endif /* __FreeBSD__, __APPLE__*/ -- cgit v1.2.3