diff options
author | Raimo Niskanen <raimo@erlang.org> | 2021-08-13 16:45:24 +0200 |
---|---|---|
committer | Raimo Niskanen <raimo@erlang.org> | 2021-08-30 14:27:36 +0200 |
commit | 241dcfe89f37092dd6a6f48726c390703d00de7b (patch) | |
tree | 98e654d087537a3a4bc0a75aaeea2544a5d25f92 | |
parent | 9b9cd6e6ac8919e90f5a265c6081e7f04223bb7e (diff) | |
download | erlang-241dcfe89f37092dd6a6f48726c390703d00de7b.tar.gz |
Work around Linux DGRAM reconnect misbehaviour
-rw-r--r-- | lib/kernel/src/gen_udp_socket.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/kernel/src/gen_udp_socket.erl b/lib/kernel/src/gen_udp_socket.erl index 43b11b456b..d734e4dd69 100644 --- a/lib/kernel/src/gen_udp_socket.erl +++ b/lib/kernel/src/gen_udp_socket.erl @@ -115,6 +115,13 @@ close_server(Server) -> %% -- connect ---------------------------------------------------------------- connect(?MODULE_socket(_Server, Socket), Address, Port) -> + case os:type() of + {unix,linux} -> + _ = socket:connect(Socket, #{family => 0}), + ok; + _ -> + ok + end, socket:connect(Socket, dest2sockaddr({Address, Port})). |