1 
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <time.h>
6 
7 // Castor Only
8 #include <syscall.h>
9 
10 void
threadEntry(uint64_t arg)11 threadEntry(uint64_t arg)
12 {
13     printf("Hello From Thread %d\n", arg);
14     OSThreadExit(arg);
15 }
16 
17 int
main(int argc,const char * argv[])18 main(int argc, const char *argv[])
19 {
20     printf("Thread Test\n");
21     OSThreadCreate((uintptr_t)&threadEntry, 2);
22     OSThreadCreate((uintptr_t)&threadEntry, 3);
23     OSThreadCreate((uintptr_t)&threadEntry, 4);
24 
25     int result = OSThreadWait(0);
26     printf("Result %d\n", result);
27     result = OSThreadWait(0);
28     printf("Result %d\n", result);
29     result = OSThreadWait(0);
30     printf("Result %d\n", result);
31 
32     printf("Success!\n");
33 
34     return 0;
35 }
36 
37