pair[1] = -1;
r = wait_for_terminate(child, &si);
- if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS || master < 0) {
-
- if (master >= 0)
- close_nointr_nofail(master);
+ if (r < 0 || si.si_code != CLD_EXITED || si.si_status != EXIT_SUCCESS) {
return r < 0 ? r : -EIO;
}
master = fds[0];
}
+ if (master < 0)
+ return -EIO;
+
return master;
}