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