On Fri, 8 Mar 2024 12:12:30 GMT, Matthias Baesken <[email protected]> wrote:
>> src/jdk.attach/linux/native/libattach/VirtualMachineImpl.c line 200:
>>
>>> 198: if (res == -1) {
>>> 199: JNU_ThrowIOExceptionWithLastError(env, "close");
>>> 200: }
>>
>> I assume it would be better to not throw when errno is EINTR. If there is a
>> profiler or some other tool firing signals at threads then there isn't
>> anything that can be done here.
>
> Should I just ignore the result / return code of close and avoid throwing an
> exception completely ?
I would just ignore any error on close in this case and treat it as a
best-effort attempt at closing the fd. The close could be successful even if an
error is reported; conversely if a signal-based profiler is used (whether they
use SA_RESTART or not) we don't want the profiler's actions to cause
application/library exceptions.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18164#discussion_r1519155640