summaryrefslogtreecommitdiffstats
path: root/src/sys/init/init_main.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/init/init_main.C')
-rw-r--r--src/sys/init/init_main.C9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/sys/init/init_main.C b/src/sys/init/init_main.C
index 6292500e3..da83838e4 100644
--- a/src/sys/init/init_main.C
+++ b/src/sys/init/init_main.C
@@ -15,16 +15,15 @@ void vfs_main(void*);
void init_main(void* unused)
{
tid_t tidrc = 0;
+ barrier_t l_barrier;
+ barrier_init(&l_barrier,2);
printk("Starting init!\n");
printk("Bringing up VFS...");
- task_create( &vfs_main, NULL );
-
- // TODO... add a barrier to ensure VFS is fully up.
- while (NULL == _syscall0(Systemcalls::MSGQ_RESOLVE_ROOT))
- task_yield();
+ task_create( &vfs_main, &l_barrier );
+ barrier_wait(&l_barrier);
// run initialization service to start up everything else.
printk("init_main: Starting Initialization Service...\n");
OpenPOWER on IntegriCloud