|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH] [Mini-OS] Add exit_thread prototype. Make sure exit_
Add exit_thread prototype. Make sure exit_thread doesn't return by accident.
Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
# HG changeset patch
# User Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
# Date 1200577127 0
# Node ID a7922b798098383d87bd62a4cc27595cfaad8dbe
# Parent 7f206dc573bcf5660c9cbbc6c3658f7d8c03a855
Add exit_thread prototype. Make sure exit_thread doesn't return by accident.
diff -r 7f206dc573bc -r a7922b798098 extras/mini-os/include/sched.h
--- a/extras/mini-os/include/sched.h Thu Jan 17 13:33:08 2008 +0000
+++ b/extras/mini-os/include/sched.h Thu Jan 17 13:38:47 2008 +0000
@@ -39,6 +39,7 @@ void init_sched(void);
void init_sched(void);
void run_idle_thread(void);
struct thread* create_thread(char *name, void (*function)(void *), void *data);
+void exit_thread(void) __attribute__((noreturn));
void schedule(void);
#define current get_current()
diff -r 7f206dc573bc -r a7922b798098 extras/mini-os/sched.c
--- a/extras/mini-os/sched.c Thu Jan 17 13:33:08 2008 +0000
+++ b/extras/mini-os/sched.c Thu Jan 17 13:38:47 2008 +0000
@@ -198,7 +198,11 @@ void exit_thread(void)
list_add(&thread->thread_list, &exited_threads);
local_irq_restore(flags);
/* Schedule will free the resources */
- schedule();
+ while(1)
+ {
+ schedule();
+ printk("schedule() returned! Trying again\n");
+ }
}
void block(struct thread *thread)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] [Mini-OS] Add exit_thread prototype. Make sure exit_thread doesn't return by accident,
Samuel Thibault <=
|
|
|
|
|