On Thu, 16 Nov 2023 18:24:44 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
>> This simplePR tweaks the factory which wraps custom cleanup actions passed >> to `MemorySegment::reinterpret`, so that any exception thrown by the custom >> cleanup is swallowed when the arena is closed. >> >> This aligns the behavior of confined/shared session with that of implicit >> session (as implicit sessions are backed by a `Cleaner`, there is no way for >> cleanup exception to bubble up). > > Maurizio Cimadamore has updated the pull request incrementally with one > additional commit since the last revision: > > Address CSR comments During the CSR review and an offline discussion with @jddarcy, it was pointed out that there's not a lot of value to be specific about this kind of exception, given that clients might not be able to do much with it (after all, if a cleanup action fails, the arena is compromised, and recovery is impossible). For this reason, we opted for a much simpler fix, where we just document that `Arena::close` might throw some runtime exception coming from the cleanup action. To be nice, in the implementation, we try to handle runtime exceptions (not errors!), and use `addSuppressed` accordingly, to do as much cleanup as we can. This part is optional and unspecified. ------------- PR Comment: https://git.openjdk.org/jdk/pull/16619#issuecomment-1815003845