@ -119,8 +119,10 @@ err:
void
local_runqueue_minheap_preempt(ucontext_t *user_context)
{
/* Assumption: Software Interrupts are disabed by caller */
assert(!software_interrupt_is_enabled());
assert(user_context != NULL);
/* Prevent nested preemption */
software_interrupt_disable();
struct sandbox *current_sandbox = current_sandbox_get();
@ -111,7 +111,6 @@ software_interrupt_handle_signals(int signal_type, siginfo_t *signal_info, void
if (current_sandbox->state == SANDBOX_RETURNED) return;
/* Preempt */
local_runqueue_preempt(user_context);
return;