refactor(userspace/falco): remove duplicate condition test

handled is test a second time for the same while it's already
part of the initial entry condition.

Signed-off-by: Samuel Gaist <samuel.gaist@idiap.ch>
This commit is contained in:
Samuel Gaist 2025-07-16 18:41:41 +02:00
parent 6df85a6da8
commit 995aa0c582

View File

@ -85,23 +85,21 @@ public:
inline bool handle(std::function<void()> f) {
if(triggered() && !handled()) {
std::unique_lock<std::mutex> lock(m_mtx);
if(!handled()) {
try {
f();
// note: the action may have forcely reset
// the signal handler, so we don't want to create
// an inconsistent state
if(triggered()) {
m_handled.store(true, std::memory_order_seq_cst);
}
} catch(std::exception&) {
if(triggered()) {
m_handled.store(true, std::memory_order_seq_cst);
}
throw;
try {
f();
// note: the action may have forcely reset
// the signal handler, so we don't want to create
// an inconsistent state
if(triggered()) {
m_handled.store(true, std::memory_order_seq_cst);
}
return true;
} catch(std::exception&) {
if(triggered()) {
m_handled.store(true, std::memory_order_seq_cst);
}
throw;
}
return true;
}
return false;
}