summaryrefslogtreecommitdiffstats
path: root/src/sys/init
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2010-06-11 21:40:31 -0500
committerPatrick Williams <iawillia@us.ibm.com>2010-06-11 21:40:31 -0500
commit24e81bc664f5cdbfc8be1badf00b025ec122af00 (patch)
tree2d41e3305fb903024541d105dfec6adf1824839a /src/sys/init
parent165e6bed506f9fddd7e9da8ad1f4c7f186e29b00 (diff)
downloadtalos-hostboot-24e81bc664f5cdbfc8be1badf00b025ec122af00.tar.gz
talos-hostboot-24e81bc664f5cdbfc8be1badf00b025ec122af00.zip
Add mutex userspace / syscalls.
Diffstat (limited to 'src/sys/init')
-rw-r--r--src/sys/init/init_main.C9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sys/init/init_main.C b/src/sys/init/init_main.C
index 8be5ae6c3..efeddcafd 100644
--- a/src/sys/init/init_main.C
+++ b/src/sys/init/init_main.C
@@ -1,10 +1,15 @@
#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();
}
@@ -12,10 +17,14 @@ 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);
}
}
OpenPOWER on IntegriCloud