8177932: (process) java/lang/ProcessHandle/OnExitTest.java failed with "Process A should not be alive..."

Reviewed-by: stuefe, dholmes, fyuan
This commit is contained in:
Roger Riggs 2017-09-21 11:41:34 -04:00
parent 5e55e5e2ee
commit a3b9c07ee4
2 changed files with 4 additions and 4 deletions
src/java.base
share/classes/java/lang
unix/native/libjava

@ -151,9 +151,9 @@ final class ProcessHandleImpl implements ProcessHandle {
} catch (InterruptedException ie) {
// ignore and retry
}
startTime = isAlive0(pid); // recheck if is alive
if (origStart > 0 && startTime != origStart) {
// start time changed, pid is not the same process
startTime = isAlive0(pid); // recheck if it is alive
if (startTime > 0 && origStart > 0 && startTime != origStart) {
// start time changed (and is not zero), pid is not the same process
break;
}
}

@ -662,7 +662,7 @@ pid_t unix_getParentPidAndTimings(JNIEnv *env, pid_t pid,
return -1;
}
// Validate the pid before returning the info in case /proc/pid is racy
// Validate the pid before returning the info
if (kill(pid, 0) < 0) {
return -1;
}