From f572cf8a054a52dd7562613ba6ca20b15f42b89b Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Mon, 1 Feb 2016 20:50:17 +0100 Subject: [PATCH] nova: stop submitting signals on dead sm caps Fixes #1877 --- repos/base-nova/src/base/signal/platform.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/base-nova/src/base/signal/platform.cc b/repos/base-nova/src/base/signal/platform.cc index a711115ff..23063d0e2 100644 --- a/repos/base-nova/src/base/signal/platform.cc +++ b/repos/base-nova/src/base/signal/platform.cc @@ -35,7 +35,11 @@ void Signal_transmitter::submit(unsigned cnt) for (unsigned i = 0; res == NOVA_OK && i < cnt; i++) res = sm_ctrl(_context.local_name(), SEMAPHORE_UP); - if (res != NOVA_OK) - PDBG("submitting signal failed - error %u - context=0x%lx", res, - _context.local_name()); + if (res == NOVA_OK) + return; + + PDBG("submitting signal failed - error %u - context=0x%lx", res, + _context.local_name()); + + _context = Signal_context_capability(); }