From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Thibault Subject: [PATCH] [Mini-OS] Add exit_thread prototype. Make sure exit_thread doesn't return by accident Date: Thu, 17 Jan 2008 13:39:57 +0000 Message-ID: <20080117133957.GC11129@implementation.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Add exit_thread prototype. Make sure exit_thread doesn't return by accident. Signed-off-by: Samuel Thibault # HG changeset patch # User Samuel Thibault # 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)