Special exception for EMFILE / ENFILE when using sockets.
Norman Maurer
norman.maurer at googlemail.com
Mon Dec 5 12:29:56 UTC 2016
Hi all,
I wonder if it would be possible to add a new public exception time for the situation of an SocketChannel.accept(…) or SocketChannel.open(…) (and the same for ServerSocket / Socket) failing because of too many open files.
The reason is because especially when acting as a server such an exception may be something you can easily recover from. At there is basically no way to detect if this was the cause of an IOException or not.
On unix / linux this are the errno values:
[EMFILE] The per-process descriptor table is full.
[ENFILE] The system file table is full.
For netty we would love to be able to know if this was the case of the problem and if so just stop accepting for a period of time to help the system to recover.
What others think about this ?
Thanks,
Norman
More information about the net-dev
mailing list