8206145 : dbgsysSocketClose - do not restart close if errno is EINTR [linux] - was : RE: RFR : 8205959 : Do not restart close if errno is EINTR
Thomas Stüfe
thomas.stuefe at gmail.com
Wed Jul 4 11:39:05 UTC 2018
Looks good. Thank you Matthias!
..Thomas
On Wed, Jul 4, 2018 at 1:37 PM, Baesken, Matthias
<matthias.baesken at sap.com> wrote:
> 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.holmes at oracle.com]
>> Sent: Dienstag, 3. Juli 2018 23:26
>> To: Alan Bateman <Alan.Bateman at oracle.com>; Thomas Stüfe
>> <thomas.stuefe at gmail.com>
>> Cc: Baesken, Matthias <matthias.baesken at sap.com>; serviceability-dev
>> (serviceability-dev at openjdk.java.net) <serviceability-
>> dev at 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.
More information about the serviceability-dev
mailing list