Files
haiku-beta6/src/kernel/apps/init.c
T
shatty e7d12ece83 corrected format specifier to remove a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 00:20:18 +00:00

64 lines
1.3 KiB
C

/*
** Copyright 2001, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
*/
#include <unistd.h>
#include <stdio.h>
#include <syscalls.h>
#include <fcntl.h>
static void setup_io()
{
int i;
for(i= 0; i< 256; i++) {
close(i);
}
/* XXX - open currently ignores these flags, but they
* should be checked once it doesn't :)
* Is STDERR really O_WRONLY?
*/
open("/dev/console", O_RDONLY, 0); /* stdin */
open("/dev/console", O_WRONLY, 0); /* stdout */
open("/dev/console", O_WRONLY, 0); /* stderr */
}
int main()
{
setup_io();
printf("Welcome to OpenBeOS!\n");
if(1) {
team_id pid;
pid = sys_create_team("/boot/bin/fortune", "/boot/bin/fortune", NULL, 0, NULL, 0, 5);
if (pid >= 0) {
int retcode;
sys_wait_on_team(pid, &retcode);
} else {
printf("Failed to create a team for fortune.\n");
}
}
while(1) {
team_id pid;
pid = sys_create_team("/boot/bin/shell", "/boot/bin/shell", NULL, 0, NULL, 0, 5);
if(pid >= 0) {
int retcode;
printf("init: spawned shell, pid 0x%lx\n", pid);
sys_wait_on_team(pid, &retcode);
printf("init: shell exited with return code %d\n", retcode);
} else {
printf("Failed to start a shell :(\n");
}
}
printf("init exiting\n");
return 0;
}