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

Reply via email to