On Mon, 31 Jul 2023 16:49:36 GMT, Andy Goryachev <[email protected]> wrote:
>> This PR adds a file lock to the cache directory, allowing access from
>> multiple processes (that is, from more than one JVM) to that directory.
>>
>> This helps solving the issue where the cache is empty or doesn't exist yet,
>> and two JavaFX applications start at the same time, and both try to copy the
>> same native libraries to the same cache.
>>
>> No tests have been added to the PR though, since this requires a complex
>> scenario: building the SDK and publishing to local Maven repository,
>> creating two simple JavaFX applications that use those artifacts, using a
>> temporary folder for cache (via `javafx.cachedir`, and launching in parallel
>> both applications.
>>
>> I've tested successfully such scenario on Linux, Mac and Windows.
>
> modules/javafx.graphics/src/main/java/com/sun/glass/utils/NativeLibLoader.java
> line 312:
>
>> 310: try {
>> 311: if (!Files.exists(path)) {
>> 312: Files.copy(is, path);
>
> I noticed `is` is not closed (also in the original code).
> Would that be a problem?
Probably something to evaluate, but in a separate ticket
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1188#discussion_r1280355284