RFR: 8364816: GetLastError() in os_windows.cpp should not store value to errno [v4]

Anton Artemov duke at openjdk.org
Wed Aug 27 13:09:39 UTC 2025


> Hi, please consider the following changes:
> 
> In `os_windows.cpp` in a few places results returned by `GetLastError()` are stored to `errno`. However, `errno` has no relation to `GetLastError()`, and their ranges are not the same.
> 
> Results of `GetLastError()` should be stored into variables of type `DWORD`.
> 
> The removed section in `src/hotspot/share/cds/aotClassLocation.cpp` was relying on values returned by `GetLastError()` and stored to `errno` in `os::stat()`. Though the logic was correct, these values should not be stored to `errno`. The functionality is preserved by storing a **valid** value `ENOENT` to `errno` in `os::stat()`. 
> 
> Tested in tiers 1 - 3.

Anton Artemov has updated the pull request incrementally with one additional commit since the last revision:

  8364816: Modified case when ENOENT value is stored to errno.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26901/files
  - new: https://git.openjdk.org/jdk/pull/26901/files/322bed86..d989cbb3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26901&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26901&range=02-03

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

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


More information about the hotspot-runtime-dev mailing list