> `GetExitCodeProcess` method is not reliable for checking if a process exited 
> already; it returns 259 (STILL_ACTIVE) if the process hasn't exited yet, but 
> the same value is returned when the process exited with code 259. In order to 
> check if the process exited, we need to check if its handle is in a signaled 
> state using one of the wait methods.
> 
> This PR fixes the onExit, exitValue, isAlive, and waitFor(timeout) methods to 
> correctly handle the problematic exit code.
> 
> I haven't fixed the ProcessImpl.toString method. I'm not sure the problem is 
> important enough to justify an extra JNI call in the (probably typical) 
> still-alive case.
> 
> Tier1-3 testing clean. I modified the existing OnExitTest to cover this case.

Daniel Jeliński has updated the pull request incrementally with one additional 
commit since the last revision:

  waitForProcessExit0 should ignore interrupts

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/19586/files
  - new: https://git.openjdk.org/jdk/pull/19586/files/e2b457bf..4ff37ced

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19586&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19586&range=00-01

  Stats: 11 lines in 1 file changed: 0 ins; 8 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/19586.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19586/head:pull/19586

PR: https://git.openjdk.org/jdk/pull/19586

Reply via email to