From 2a3538aa5c824ac5904cde6c8d3cd8fcbcaa86a5 Mon Sep 17 00:00:00 2001
From: Jakob Olsson <jakob.olsson@iopsys.eu>
Date: Thu, 17 Jun 2021 16:10:29 +0200
Subject: [PATCH] map-controller: dont parse cmdu with pending SIGINT or
 SIGTERM

---
 src/core/cntlr.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/core/cntlr.c b/src/core/cntlr.c
index 8e8bb2d7..63a58ed8 100644
--- a/src/core/cntlr.c
+++ b/src/core/cntlr.c
@@ -1780,6 +1780,12 @@ static void cntlr_ieee1905_cmdu_event_handler(void *cntlr,
 	uint8_t srcmac[6], origin[6];
 	uint16_t mid = 0;
 	int len = 0;
+	sigset_t waiting_mask;
+
+	sigpending(&waiting_mask);
+	if (sigismember(&waiting_mask, SIGINT) ||
+			sigismember(&waiting_mask, SIGTERM))
+		return;
 
 	blobmsg_parse(cmdu_attrs, 6, tb, blob_data(msg), blob_len(msg));
 
-- 
GitLab