mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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:
parent
d820362c50
commit
9292a6254e
2 changed files with 11 additions and 2 deletions
|
@ -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
|
* win32/win32.c (do_spawn, do_aspawn): should wait child process even
|
||||||
if callded with P_OVERLAY.
|
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>
|
Tue Oct 21 00:35:02 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
|
||||||
|
|
||||||
* test/soap/calc/*, test/soap/helloworld/*: catch the exception from
|
* test/soap/calc/*, test/soap/helloworld/*: catch the exception from
|
||||||
|
|
|
@ -735,6 +735,7 @@ int mode;
|
||||||
char *cmd;
|
char *cmd;
|
||||||
{
|
{
|
||||||
struct ChildRecord *child;
|
struct ChildRecord *child;
|
||||||
|
DWORD exitcode;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case P_WAIT:
|
case P_WAIT:
|
||||||
|
@ -759,7 +760,9 @@ char *cmd;
|
||||||
return child->pid;
|
return child->pid;
|
||||||
case P_OVERLAY:
|
case P_OVERLAY:
|
||||||
WaitForSingleObject(child->hProcess, INFINITE);
|
WaitForSingleObject(child->hProcess, INFINITE);
|
||||||
exit(0);
|
GetExitCodeProcess(child->hProcess, &exitcode);
|
||||||
|
CloseChildHandle(child);
|
||||||
|
_exit(exitcode);
|
||||||
default:
|
default:
|
||||||
return -1; /* not reached */
|
return -1; /* not reached */
|
||||||
}
|
}
|
||||||
|
@ -774,6 +777,7 @@ char **argv;
|
||||||
char *cmd, *p, *q, *s, **t;
|
char *cmd, *p, *q, *s, **t;
|
||||||
int len, n, bs, quote;
|
int len, n, bs, quote;
|
||||||
struct ChildRecord *child;
|
struct ChildRecord *child;
|
||||||
|
DWORD exitcode;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case P_WAIT:
|
case P_WAIT:
|
||||||
|
@ -850,7 +854,9 @@ char **argv;
|
||||||
return child->pid;
|
return child->pid;
|
||||||
case P_OVERLAY:
|
case P_OVERLAY:
|
||||||
WaitForSingleObject(child->hProcess, INFINITE);
|
WaitForSingleObject(child->hProcess, INFINITE);
|
||||||
exit(0);
|
GetExitCodeProcess(child->hProcess, &exitcode);
|
||||||
|
CloseChildHandle(child);
|
||||||
|
_exit(exitcode);
|
||||||
default:
|
default:
|
||||||
return -1; /* not reached */
|
return -1; /* not reached */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue