8206145 : dbgsysSocketClose - do not restart close if errno is EINTR [linux] - was : RE: RFR : 8205959 : Do not restart close if errno is EINTR
Alan Bateman
Alan.Bateman at oracle.com
Tue Jul 3 17:14:18 UTC 2018
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.
>
> But boy this close() EINTR business is evil. Choosing between risking
> file descriptor leaks or random double closes ...
>
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