* [PATCH] [Mini-OS] Add exit_thread prototype. Make sure exit_thread doesn't return by accident
@ 2008-01-17 13:39 Samuel Thibault
0 siblings, 0 replies; only message in thread
From: Samuel Thibault @ 2008-01-17 13:39 UTC (permalink / raw)
To: xen-devel
Add exit_thread prototype. Make sure exit_thread doesn't return by accident.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
# HG changeset patch
# User Samuel Thibault <samuel.thibault@eu.citrix.com>
# 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)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-01-17 13:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-17 13:39 [PATCH] [Mini-OS] Add exit_thread prototype. Make sure exit_thread doesn't return by accident Samuel Thibault
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.