From 1f4788b0395f0afec6eb9fb6a8efaec8d4c1d658 Mon Sep 17 00:00:00 2001 From: Nav Date: Thu, 28 Jul 2022 22:45:21 +0100 Subject: [PATCH] Blocked signals on the DebugServer thread and some tidying --- src/Application.cpp | 2 +- src/DebugServer/DebugServerComponent.cpp | 1 + src/Helpers/Thread.hpp | 2 +- src/TargetController/TargetControllerComponent.cpp | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Application.cpp b/src/Application.cpp index cc2cc67e..7af4761d 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -130,7 +130,7 @@ namespace Bloom Logger::debug("Bloom version: " + Application::VERSION.toString()); - this->blockAllSignalsOnCurrentThread(); + this->blockAllSignals(); this->startSignalHandler(); Logger::info("Selected environment: \"" + this->selectedEnvironmentName + "\""); diff --git a/src/DebugServer/DebugServerComponent.cpp b/src/DebugServer/DebugServerComponent.cpp index 7c7c6177..dababa02 100644 --- a/src/DebugServer/DebugServerComponent.cpp +++ b/src/DebugServer/DebugServerComponent.cpp @@ -55,6 +55,7 @@ namespace Bloom::DebugServer void DebugServerComponent::startup() { this->setName("DS"); Logger::info("Starting DebugServer"); + this->blockAllSignals(); EventManager::registerListener(this->eventListener); this->eventListener->setInterruptEventNotifier(&this->interruptEventNotifier); diff --git a/src/Helpers/Thread.hpp b/src/Helpers/Thread.hpp index f3b90788..5c1609ec 100644 --- a/src/Helpers/Thread.hpp +++ b/src/Helpers/Thread.hpp @@ -41,7 +41,7 @@ namespace Bloom /** * Disables signal interrupts on current thread. */ - void blockAllSignalsOnCurrentThread() { + void blockAllSignals() { sigset_t set = {}; sigfillset(&set); sigprocmask(SIG_SETMASK, &set, NULL); diff --git a/src/TargetController/TargetControllerComponent.cpp b/src/TargetController/TargetControllerComponent.cpp index a5d275ad..6ba2d6d3 100644 --- a/src/TargetController/TargetControllerComponent.cpp +++ b/src/TargetController/TargetControllerComponent.cpp @@ -160,7 +160,7 @@ namespace Bloom::TargetController this->setName("TC"); Logger::info("Starting TargetController"); this->setThreadState(ThreadState::STARTING); - this->blockAllSignalsOnCurrentThread(); + this->blockAllSignals(); this->eventListener->setInterruptEventNotifier(&TargetControllerComponent::notifier); EventManager::registerListener(this->eventListener);