Warning, cross-references for /kernel/tests/test5.c need to be fixed.
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #include "syscall.h"
0019
0020 void
0021 putx (unsigned long l)
0022 {
0023
0024 int i, li;
0025
0026 for (i = 7; i >= 0; i--)
0027 if ((li = (l >> (i << 2)) & 0x0F) > 9)
0028 putchar ('A' + li - 0x0A);
0029 else
0030 putchar ('0' + li);
0031 }
0032
0033 void
0034 print (char *s)
0035 {
0036 while (*s) {
0037 putchar (*s++);
0038 }
0039 }
0040
0041 void
0042 _start ()
0043 {
0044 int pid;
0045 if ((pid = fork ())) {
0046 print ("00000000");
0047 waitpid (pid);
0048 print ("\n");
0049 _exit (0);
0050 } else if ((pid = fork ())) {
0051 print ("11111111");
0052 waitpid (pid);
0053 _exit (0);
0054 } else if ((pid = fork ())) {
0055 print ("22222222");
0056 waitpid (pid);
0057 _exit (0);
0058 } else if ((pid = fork ())) {
0059 print ("33333333");
0060 waitpid (pid);
0061 _exit (0);
0062 } else if ((pid = fork ())) {
0063 print ("44444444");
0064 waitpid (pid);
0065 _exit (0);
0066 } else {
0067 print ("55555555");
0068 _exit (0);
0069 }
0070 }
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081