From 434c9ceb5d68dea6cdb1a4bd4b187b47f98231f7 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Tue, 25 Feb 2020 15:40:11 +0100 Subject: [PATCH] vbox5-nova: document possible 'Blocking_canceled' exception Fixes #3664 --- repos/ports/src/virtualbox5/spec/nova/vcpu.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/ports/src/virtualbox5/spec/nova/vcpu.h b/repos/ports/src/virtualbox5/spec/nova/vcpu.h index 7d77d2ee3..2d2397929 100644 --- a/repos/ports/src/virtualbox5/spec/nova/vcpu.h +++ b/repos/ports/src/virtualbox5/spec/nova/vcpu.h @@ -890,6 +890,12 @@ class Vcpu_handler : public Vmm::Vcpu_dispatcher, void wake_up() { + /* + * Note: the following 'SEMAPHORE_UP' call can cause a + * 'Blocking_canceled' exception in the target thread + * if it is currently blocking on a Genode lock, because + * the same NOVA semaphore is used. + */ Genode::addr_t sem = native_thread().exc_pt_sel + Nova::SM_SEL_EC; Nova::sm_ctrl(sem, Nova::SEMAPHORE_UP); }