* win32/win32.c (do_spawn, do_aspawn): should return child's exit

status to parent.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2003-10-21 06:23:51 +00:00
Родитель d820362c50
Коммит 9292a6254e
2 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -3,6 +3,9 @@ Tue Oct 21 15:08:53 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* win32/win32.c (do_spawn, do_aspawn): should wait child process even
if callded with P_OVERLAY.
* win32/win32.c (do_spawn, do_aspawn): should return child's exit
status to parent.
Tue Oct 21 00:35:02 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/soap/calc/*, test/soap/helloworld/*: catch the exception from

Просмотреть файл

@ -735,6 +735,7 @@ int mode;
char *cmd;
{
struct ChildRecord *child;
DWORD exitcode;
switch (mode) {
case P_WAIT:
@ -759,7 +760,9 @@ char *cmd;
return child->pid;
case P_OVERLAY:
WaitForSingleObject(child->hProcess, INFINITE);
exit(0);
GetExitCodeProcess(child->hProcess, &exitcode);
CloseChildHandle(child);
_exit(exitcode);
default:
return -1; /* not reached */
}
@ -774,6 +777,7 @@ char **argv;
char *cmd, *p, *q, *s, **t;
int len, n, bs, quote;
struct ChildRecord *child;
DWORD exitcode;
switch (mode) {
case P_WAIT:
@ -850,7 +854,9 @@ char **argv;
return child->pid;
case P_OVERLAY:
WaitForSingleObject(child->hProcess, INFINITE);
exit(0);
GetExitCodeProcess(child->hProcess, &exitcode);
CloseChildHandle(child);
_exit(exitcode);
default:
return -1; /* not reached */
}