On Mon, 16 Mar 2026 16:58:25 GMT, Sergey Bylokhov <[email protected]> wrote:
>> src/java.desktop/macosx/native/libawt_lwawt/awt/CDesktopPeer.m line 82: >> >>> 80: } >>> 81: dispatch_semaphore_signal(semaphore); >>> 82: dispatch_release(semaphore); >> >> You have a **_dispatch_release(semaphore)_** after >> dispatch_semaphore_wait(), would that be sufficient to release the semaphore >> or do we need to call it here as well ? > > dispatch_release after dispatch_semaphore_wait is safe only if a timeout > never happens. If a timeout happens the semaphore may be released after > dispatch_semaphore_wait, and the code above could cause a use-after-free > error if executed later. Makes sense. Thanks for clarifying! Please wait for @azuev-java to take a look at the changes. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/29927#discussion_r2943047042
