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
Tue Jul 3 17:07:28 UTC 2018
On Tue, Jul 3, 2018 at 6:49 PM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>
>
> On 03/07/2018 14:57, Baesken, Matthias wrote:
>>>>>
>>>>> I created a bug and a webrev , please review .
>>>>>
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8206145
>>>>>
>>>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8206145/
>>
>>
>> Hello, here is the second webrev including Solaris :
>>
>> http://cr.openjdk.java.net/~mbaesken/webrevs/8206145.1/
>>
> This looks okay to me (although I think we should include macOS in the list
> too).
>
> -Alan
+1
Actually, at this point we could just:
#if defined(__AIX)
do {
rv = close(fd);
} while (rv == -1 && errno == EINTR);
#else
rv = close(fd);
#endif
But boy this close() EINTR business is evil. Choosing between risking
file descriptor leaks or random double closes ...
..Thomas
More information about the serviceability-dev
mailing list