(simple_execvp): loop around waitpid when errno == EINTR
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5098 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -80,9 +80,10 @@ simple_execvp(const char *file, char *const args[])
|
|||||||
default:
|
default:
|
||||||
while(1) {
|
while(1) {
|
||||||
int status;
|
int status;
|
||||||
if(waitpid(pid, &status, 0) < 0) {
|
|
||||||
|
while(waitpid(pid, &status, 0) < 0)
|
||||||
|
if (errno != EINTR)
|
||||||
return -3;
|
return -3;
|
||||||
}
|
|
||||||
if(WIFSTOPPED(status))
|
if(WIFSTOPPED(status))
|
||||||
continue;
|
continue;
|
||||||
if(WIFEXITED(status))
|
if(WIFEXITED(status))
|
||||||
|
Reference in New Issue
Block a user