RFR: 8324972: (bf) Make DirectByteBuffer.Deallocator idempotent [v4]

Mark Sheppard msheppar at openjdk.org
Mon Feb 12 09:50:57 UTC 2024


On Thu, 8 Feb 2024 10:58:05 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes to make deallocators and unmappers for memory regions idempotent. This is to prevent (likely very rare) duplicate invocations. 
>> 
>> There are no unit tests but it should be noted that the idempotent behavior (now correct) is similar to the  intended behavior before cf74b8c2a32f33019a13ce80b6667da502cc6722 but where idempotency was not guaranteed in a multi-threaded environment.
>> 
>> Passes tier1, 2, and 3 tests.
>
> Per Minborg has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Use existing UNSAFE static variable
>  - Remove unused import

Is the Deallocator abstraction designed to be thread safe as advocated in https://bugs.openjdk.org/browse/JDK-8316337  ?
Is it  correct and proper design, hence good practice, as per the original logic, that Deallocator guard against improper release of its encapsulated native memory more than once?

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

PR Comment: https://git.openjdk.org/jdk/pull/17647#issuecomment-1938337935


More information about the nio-dev mailing list