From c9fbd7afdf7a0c43944291f560db572352b34f98 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Mon, 7 Feb 2022 15:05:57 +0100 Subject: [PATCH] fix for gettid() only after glibc 2.30 --- slsReceiverSoftware/src/Arping.cpp | 6 ++++++ slsReceiverSoftware/src/ClientInterface.cpp | 6 ++++++ slsReceiverSoftware/src/MultiReceiverApp.cpp | 6 ++++++ slsReceiverSoftware/src/Receiver.cpp | 6 ++++++ slsReceiverSoftware/src/ReceiverApp.cpp | 6 ++++++ slsReceiverSoftware/src/ThreadObject.cpp | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/slsReceiverSoftware/src/Arping.cpp b/slsReceiverSoftware/src/Arping.cpp index ca78f11c1..ac7344025 100644 --- a/slsReceiverSoftware/src/Arping.cpp +++ b/slsReceiverSoftware/src/Arping.cpp @@ -6,6 +6,12 @@ #include #include +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + void Arping::SetInterfacesAndIps(const int index, const std::string &interface, const std::string &ip) { diff --git a/slsReceiverSoftware/src/ClientInterface.cpp b/slsReceiverSoftware/src/ClientInterface.cpp index 600b00d70..44677a8f6 100644 --- a/slsReceiverSoftware/src/ClientInterface.cpp +++ b/slsReceiverSoftware/src/ClientInterface.cpp @@ -27,6 +27,12 @@ using sls::RuntimeError; using sls::SocketError; using Interface = sls::ServerInterface; +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + ClientInterface::~ClientInterface() { killTcpThread = true; LOG(logINFO) << "Shutting down TCP Socket on port " << portNumber; diff --git a/slsReceiverSoftware/src/MultiReceiverApp.cpp b/slsReceiverSoftware/src/MultiReceiverApp.cpp index 10a059a14..f3828435f 100644 --- a/slsReceiverSoftware/src/MultiReceiverApp.cpp +++ b/slsReceiverSoftware/src/MultiReceiverApp.cpp @@ -14,6 +14,12 @@ #include //wait #include +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + /** Define Colors to print data call back in different colors for different * recievers */ #define PRINT_IN_COLOR(c, f, ...) \ diff --git a/slsReceiverSoftware/src/Receiver.cpp b/slsReceiverSoftware/src/Receiver.cpp index 08f01d421..2701e8b17 100644 --- a/slsReceiverSoftware/src/Receiver.cpp +++ b/slsReceiverSoftware/src/Receiver.cpp @@ -16,6 +16,12 @@ #include #include +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + namespace sls { Receiver::~Receiver() = default; diff --git a/slsReceiverSoftware/src/ReceiverApp.cpp b/slsReceiverSoftware/src/ReceiverApp.cpp index 6fe2884c6..9a9347e64 100644 --- a/slsReceiverSoftware/src/ReceiverApp.cpp +++ b/slsReceiverSoftware/src/ReceiverApp.cpp @@ -10,6 +10,12 @@ #include #include +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + sem_t semaphore; void sigInterruptHandler(int p) { sem_post(&semaphore); } diff --git a/slsReceiverSoftware/src/ThreadObject.cpp b/slsReceiverSoftware/src/ThreadObject.cpp index 8a4516c0c..1d3eb76a1 100644 --- a/slsReceiverSoftware/src/ThreadObject.cpp +++ b/slsReceiverSoftware/src/ThreadObject.cpp @@ -10,6 +10,12 @@ #include #include +// gettid added in glibc 2.30 +#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 30 +#include +#define gettid() syscall(SYS_gettid) +#endif + ThreadObject::ThreadObject(int threadIndex, std::string threadType) : index(threadIndex), type(threadType) { LOG(logDEBUG) << type << " thread created: " << index;