hw: ignore stale data in fresh signal

When a new signal arrives, which means a formerly non-pending one,
we should ignore old signal numbers of that context, but only
evaluate newly received data by the last kernel-call.

Fix #5193
This commit is contained in:
Stefan Kalkowski 2024-04-24 15:59:30 +02:00 committed by Christian Helmuth
parent 6dd87a6ce0
commit 68de550090

View File

@ -146,7 +146,7 @@ void Signal_receiver::block_for_signal()
if (!context->_pending) {
/* update signal context */
Mutex::Guard context_guard(context->_mutex);
unsigned const num = context->_curr_signal.num + data->num;
unsigned const num = data->num;
context->_pending = true;
context->_curr_signal = Signal::Data(context, num);
}