From e8cf65c07d78e3cfbac953b1b97c51998a5900df Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Tue, 1 May 2012 14:55:18 +0200 Subject: Now using Doug Lea's malloc in kernel land. Next: same in userland. --- src/user/test/main.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/user/test') diff --git a/src/user/test/main.c b/src/user/test/main.c index 14f6363..d890850 100644 --- a/src/user/test/main.c +++ b/src/user/test/main.c @@ -2,9 +2,13 @@ #include #include +static volatile int threads = 0; + void thread_cascade(void* d) { int n = (int)d; + threads++; + if (d == 0) { //printk("{#} 0 cascade element started => end\n"); printk("{#}0end\t"); @@ -26,15 +30,21 @@ void thread_cascade(void* d) { //printk("{#} Thread cascade element finished.\n"); printk("{#}end\t"); } + + threads--; } int main() { printk("Hi world from test module !\n"); printk("{1} Creating thread cascade len:4\n"); - thread_new(thread_cascade, (void*)4); + thread_new(thread_cascade, (void*)7); printk("{1} Thread now sleeping...\n"); - while (1) thread_sleep(1000); + while (1) { + thread_sleep(1000); + if (threads == 0) break; + } + printk("{1} Everybody seems to be done here, exiting...\n"); return 0; } -- cgit v1.2.3