Changeset 1722
- Timestamp:
- Dec 9, 2004, 9:16:59 AM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/testcase/misc/waitpid-1.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.2
r1721 r1722 65 65 else if (pid == g_pid128) 66 66 rcWanted = W_EXITCODE(128, 0); 67 else if (pid == g_pid 1)67 else if (pid == g_pidKill) 68 68 rcWanted = W_EXITCODE(0, SIGKILL); 69 69 else … … 87 87 if (argc == 2) 88 88 { 89 if (strcmp(argv[1], "child-1")) 89 usleep(1000); 90 if (!strcmp(argv[1], "child-1")) 90 91 return 1; 91 if ( strcmp(argv[1], "child-64"))92 if (!strcmp(argv[1], "child-64")) 92 93 return 64; 93 if ( strcmp(argv[1], "child-128"))94 if (!strcmp(argv[1], "child-128")) 94 95 return 128; 95 if ( strcmp(argv[1], "child-kill"))96 if (!strcmp(argv[1], "child-kill")) 96 97 sleep(24*60*60); 97 98 return 0; … … 111 112 * spawn children. 112 113 */ 114 sighold(SIGCHLD); 113 115 g_pid0 = spawnl(P_NOWAIT, argv[0], argv[0], "child", NULL); 114 116 g_pid1 = spawnl(P_NOWAIT, argv[0], argv[0], "child-1", NULL); … … 116 118 g_pid128 = spawnl(P_NOWAIT, argv[0], argv[0], "child-128", NULL); 117 119 g_pidKill = spawnl(P_NOWAIT, argv[0], argv[0], "child-kill", NULL); 118 119 120 int cSpawned = (g_pid0 > 0) 120 121 + (g_pid1 > 0) … … 122 123 + (g_pid128 > 0) 123 124 + (g_pidKill > 0); 125 printf("waitpid-1: info - pid0=%#x pid1=%#x pid64=%#x pid128=%#x pidKill=%#x\n", g_pid0, g_pid1, g_pid64, g_pid128, g_pidKill); 126 if (cSpawned != 5) 127 { 128 printf("waitpid-1: ERROR - one or more spawns failed. cSpawned=%d should be 5!\n", cSpawned); 129 g_cErrors++; 130 } 131 sigrelse(SIGCHLD); 132 124 133 int cWaits = 0; 125 134 while (g_cReaped < cSpawned && cWaits++ < 30) 126 sleep(1); 135 { 136 if (cWaits == 1 && g_cReaped + 1 == cSpawned) 137 kill(g_pidKill, SIGKILL); 138 else 139 { 140 sleep(1); 141 kill(g_pidKill, SIGKILL); 142 } 143 } 127 144 128 145 if (g_cReaped != cSpawned) -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.