- tid = clone(CLONE_VM, 0);
- if(tid == 0)
- {
- execve(DEFAULT_SHELL, NULL, NULL);
- for(;;) __asm__ __volatile__("hlt");
+ // - Start virtual terminals
+ for( i = 0; i < NUM_TERMS; i++ )
+ {
+ tid = clone(CLONE_VM, 0);
+ if(tid == 0)
+ {
+ termpath[sizeof(DEFAULT_TERMINAL)-2] = '0' + i;
+
+ open(termpath, OPENFLAG_READ); // Stdin
+ open(termpath, OPENFLAG_WRITE); // Stdout
+ open(termpath, OPENFLAG_WRITE); // Stderr
+ execve(DEFAULT_SHELL, child_argv, NULL);
+ for(;;) sleep();
+ }