From 5bfdf430a872068d7a6e52123658e0027d3dc0b2 Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Tue, 14 Jan 2025 10:18:59 +0100 Subject: [PATCH] Do not use signal when using lwIP The lwIP library does not generate SIGPIPE and platforms supporting lwIP might not have a valid implementation of signal: avoid using signal in these circumstances. Signed-off-by: Denis Benato --- MQTTClient-C/src/linux/MQTTLinuxNetwork.c | 2 ++ MQTTClient/src/linux/linux.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/MQTTClient-C/src/linux/MQTTLinuxNetwork.c b/MQTTClient-C/src/linux/MQTTLinuxNetwork.c index d5e0bc0a..bcf652f1 100644 --- a/MQTTClient-C/src/linux/MQTTLinuxNetwork.c +++ b/MQTTClient-C/src/linux/MQTTLinuxNetwork.c @@ -66,7 +66,9 @@ static int linux_write(Network* n, unsigned char* buffer, int len, int timeout_m void NetworkInit(Network* n) { +#if !defined(LWIP_SOCKET) signal(SIGPIPE, SIG_IGN); +#endif n->my_socket = 0; n->mqttread = linux_read; n->mqttwrite = linux_write; diff --git a/MQTTClient/src/linux/linux.cpp b/MQTTClient/src/linux/linux.cpp index 01ac9190..00ca4cdf 100644 --- a/MQTTClient/src/linux/linux.cpp +++ b/MQTTClient/src/linux/linux.cpp @@ -39,7 +39,9 @@ class IPStack public: IPStack() { +#if !defined(LWIP_SOCKET) signal(SIGPIPE, SIG_IGN); +#endif } int connect(const char* hostname, int port)