blob: efeddcafd140ab1069770c8236d16b8b3c8b3888 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include <kernel/console.H> // TODO : Remove this.
#include <sys/task.h>
#include <sys/mutex.h>
mutex_t global_mutex;
void init_child(void* unused)
{
mutex_lock(global_mutex);
printk("Here I am %d\n", task_gettid());
mutex_unlock(global_mutex);
task_end();
}
void init_main(void* unused)
{
printk("Starting init!\n");
global_mutex = mutex_create();
while(1)
{
mutex_lock(global_mutex);
int t = task_create(&init_child, NULL);
printk("Created child %d\n", t);
for (volatile int i = 0 ; i < 10000000; i++);
mutex_unlock(global_mutex);
}
}
|