RFR : 8205959 : Do not restart close if errno is EINTR

Langer, Christoph christoph.langer at sap.com
Mon Jul 2 09:03:58 UTC 2018


Hi Matthias,

forwarding to serviceability-dev, because debugging is usually discussed there.

Yes, I would think this coding should be fixed, too. Can you open a bug and prepare a change?

Thanks
Christoph

> -----Original Message-----
> From: net-dev [mailto:net-dev-bounces at openjdk.java.net] On Behalf Of
> Norman Maurer
> Sent: Montag, 2. Juli 2018 10:23
> To: Baesken, Matthias <matthias.baesken at sap.com>
> Cc: Stuefe, Thomas <thomas.stuefe at sap.com>; net-dev at openjdk.java.net
> Subject: Re: RFR : 8205959 : Do not restart close if errno is EINTR
> 
> +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 serviceability-dev mailing list