Guts load_icode and proc_create() takes a path
[akaros.git] / tests / spawn.c
1
2 #include <rstdio.h>
3 #include <parlib.h>
4
5 int main(int argc, char** argv)
6 {
7         #if 0
8         /* try some bad combos */
9         int pid = sys_proc_create("garbagexxx");
10         printf("Garbage pid result: %d\n", pid);
11
12         error_t err = sys_proc_run(2342);
13         printf("sys_proc_run(2342) error: %e\n", err);
14
15         err = sys_proc_run(-1);
16         cprintf("sys_proc_run(-1) error: %e\n", err);
17         #endif
18
19         #define NUM_KIDS 5
20         int child_pid[NUM_KIDS];
21         #if 0
22         printf("U: attempting to create hello(s)\n");
23         for (int i = 0; i < NUM_KIDS; i++)
24                 child_pid[i] = sys_proc_create("roslib_hello");
25
26         for (int i = 0; i < NUM_KIDS; i++) {
27                 cprintf("U: attempting to run hello (pid: %d)\n", child_pid[i]);
28                 sys_proc_run(child_pid[i]);
29         }
30         #endif
31         printf("U: attempting to create and run hello\n");
32         child_pid[0] = sys_proc_create("/bin/hello");
33         sys_proc_run(child_pid[0]);
34         printf("U: attempting to create and run another hello\n");
35         child_pid[1] = sys_proc_create("/bin/hello");
36         sys_proc_run(child_pid[1]);
37         return 0;
38 }