mirror of
https://github.com/drasko/codezero.git
synced 2026-02-11 01:13:16 +01:00
Added support for faulty pagers and their threads to become zombies
Added support for pagers that fault to suspend and become zombies along with all the threads that they manage. Zombie killing is to be done at a later time, from this special zombie queue. The implementation works same as a suspension, with the added action that the thread is moved to a queue in kernel container.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <l4/generic/resource.h>
|
||||
#include <l4/generic/container.h>
|
||||
#include <l4/generic/preempt.h>
|
||||
#include <l4/generic/thread.h>
|
||||
#include <l4/generic/irq.h>
|
||||
#include <l4/generic/tcb.h>
|
||||
#include <l4/api/errno.h>
|
||||
@@ -239,6 +240,9 @@ void sched_suspend_sync(void)
|
||||
BUG_ON(scheduler.prio_total < 0);
|
||||
preempt_enable();
|
||||
|
||||
if (current->flags & TASK_EXITING)
|
||||
thread_make_zombie(current);
|
||||
|
||||
/*
|
||||
* Async wake up any waiting pagers
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user