Hi all, here is another webrev : http://cr.openjdk.java.net/~mbaesken/webrevs/8206145.2/
- switched to the coding proposed by Thomas - added a small comment Best regards, Matthias > -----Original Message----- > From: David Holmes [mailto:david.hol...@oracle.com] > Sent: Dienstag, 3. Juli 2018 23:26 > To: Alan Bateman <alan.bate...@oracle.com>; Thomas Stüfe > <thomas.stu...@gmail.com> > Cc: Baesken, Matthias <matthias.baes...@sap.com>; serviceability-dev > (serviceability-dev@openjdk.java.net) <serviceability- > d...@openjdk.java.net> > Subject: Re: 8206145 : dbgsysSocketClose - do not restart close if errno is > EINTR [linux] - was : RE: RFR : 8205959 : Do not restart close if errno is > EINTR > > On 4/07/2018 3:14 AM, Alan Bateman wrote: > > On 03/07/2018 18:07, Thomas Stüfe wrote: > >> : > >> Actually, at this point we could just: > >> > >> #if defined(__AIX) > >> do { > >> rv = close(fd); > >> } while (rv == -1 && errno == EINTR); > >> #else > >> rv = close(fd); > >> #endif > > Right, might be the simplest. > > +1 with suitable comment > > >> > >> But boy this close() EINTR business is evil. Choosing between risking > >> file descriptor leaks or random double closes ... > > Hopefully it's somewhat academic and we don't actually take signals in > arbitrary threads. > > Cheers, > David > > >> > > and we aren't out of the woods yet, there are a few other places that > > need similar attention.