mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 21:14:23 +02:00
win32.c: no error after retry
* win32/win32.c (waitpid): return 0 on error after retried. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
656c3b5422
commit
7ce9f9c25a
1 changed files with 3 additions and 0 deletions
|
@ -4144,6 +4144,7 @@ waitpid(rb_pid_t pid, int *stat_loc, int options)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
struct ChildRecord* child = FindChildSlot(pid);
|
struct ChildRecord* child = FindChildSlot(pid);
|
||||||
|
int retried = 0;
|
||||||
if (!child) {
|
if (!child) {
|
||||||
errno = ECHILD;
|
errno = ECHILD;
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -4157,8 +4158,10 @@ waitpid(rb_pid_t pid, int *stat_loc, int options)
|
||||||
pid = 0;
|
pid = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
++retried;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (pid == -1 && retried) pid = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return pid;
|
return pid;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue