diff options
author | Per Hedeland <[email protected]> | 2012-01-04 10:57:59 +0100 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2012-01-04 15:24:08 +0100 |
commit | 949ee23d72e4412fed3059c04e395f995388a5fb (patch) | |
tree | 7806efe10aae7c0a03cf4a9bf28d9e494061c730 /lib/kernel/src/gen_tcp.erl | |
parent | 34dca57472ba2f4e82bb03d3713e3318613093bb (diff) | |
download | otp-949ee23d72e4412fed3059c04e395f995388a5fb.tar.gz otp-949ee23d72e4412fed3059c04e395f995388a5fb.tar.bz2 otp-949ee23d72e4412fed3059c04e395f995388a5fb.zip |
Fix returned error from gen_tcp:accept/1,2 when running out of ports
The {error, enfile} return value is badly misleading and confusing for
this case, since the Posix ENFILE errno value has a well-defined meaning
that has nothing to do with Erlang ports. The fix changes the return
value to {error, system_limit}, which is consistent with e.g. various
file(3) functions. inet:format_error/1 has also been updated to support
system_limit in the same manner as file:format_error/1.
Diffstat (limited to 'lib/kernel/src/gen_tcp.erl')
-rw-r--r-- | lib/kernel/src/gen_tcp.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/kernel/src/gen_tcp.erl b/lib/kernel/src/gen_tcp.erl index 4d6c7f5f1d..02a6190034 100644 --- a/lib/kernel/src/gen_tcp.erl +++ b/lib/kernel/src/gen_tcp.erl @@ -194,7 +194,7 @@ listen(Port, Opts) -> -spec accept(ListenSocket) -> {ok, Socket} | {error, Reason} when ListenSocket :: socket(), Socket :: socket(), - Reason :: closed | timeout | inet:posix(). + Reason :: closed | timeout | system_limit | inet:posix(). accept(S) -> case inet_db:lookup_socket(S) of |