RFR : 8205959 : Do not restart close if errno is EINTR
Norman Maurer
norman.maurer at googlemail.com
Mon Jul 2 08:23:11 UTC 2018
+1 retry a close on EINTR has most likely not the outcome you expect and may even close a wrong FD if the same FD is reused already (as even if EINTR is returned it may have closed the FD)
> Am 02.07.2018 um 10:17 schrieb Baesken, Matthias <matthias.baesken at sap.com>:
>
> Hello , there is a similar pattern (attempt to restart close in case of EINTR) in the coding as well in socket_md.c :
>
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-147- int rv;
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-148- do {
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-149- rv = close(fd);
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c:150: } while (rv == -1 && errno == EINTR);
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-151-
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-152- return rv;
> src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c-153-}
>
> Do you think this needs adjustment (on LINUX) as well ?
>
> Best regards, Matthias
>
>
>> Message: 2
>> Date: Thu, 28 Jun 2018 18:19:46 +0100
>> From: Alan Bateman <Alan.Bateman at oracle.com>
>> To: David Lloyd <david.lloyd at redhat.com>, ivan.gerasimov at oracle.com
>> Cc: OpenJDK Network Dev list <net-dev at openjdk.java.net>
>> Subject: Re: RFR : 8205959 : Do not restart close if errno is EINTR
>> Message-ID: <3fd1496f-ab83-a2d5-0699-13c8b735d70b at oracle.com>
>> Content-Type: text/plain; charset=utf-8; format=flowed
>>
>>> On 28/06/2018 17:35, David Lloyd wrote:
>>> :
>>> Do you (or Alan) think that this might have accounted for real-world
>>> connection problems?
>>>
>> In the file I/O area, with NFS I think, we had an issue a long time ago
>> where close was retried after EIO. That issue was fixed a long time ago
>> but it's one that comes to mind in this general area.
>>
>> -Alan
>>
>
More information about the net-dev
mailing list