diff options
Diffstat (limited to 'erts/preloaded/src/prim_socket.erl')
-rw-r--r-- | erts/preloaded/src/prim_socket.erl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/erts/preloaded/src/prim_socket.erl b/erts/preloaded/src/prim_socket.erl index fd4432cbc9..8da47bba82 100644 --- a/erts/preloaded/src/prim_socket.erl +++ b/erts/preloaded/src/prim_socket.erl @@ -512,8 +512,10 @@ send(SockRef, Bin, EFlags, SendRef) when is_integer(EFlags) -> {select, Written} -> <<_:Written/binary, RestBin/binary>> = Bin, {select, RestBin, EFlags}; - completion -> - completion; + + completion = C -> + C; + {error, _Reason} = Result -> Result end; @@ -560,11 +562,13 @@ sendto(SockRef, Bin, To, Flags, SendRef) -> sockaddr -> {error, {invalid, {Cause, To}}} end; + ok -> ok; {ok, Written} -> <<_:Written/binary, RestBin/binary>> = Bin, {ok, RestBin}; + select -> Cont = {To, ETo, EFlags}, {select, Cont}; @@ -572,6 +576,10 @@ sendto(SockRef, Bin, To, Flags, SendRef) -> <<_:Written/binary, RestBin/binary>> = Bin, Cont = {To, ETo, EFlags}, {select, RestBin, Cont}; + + completion = C-> + C; + {error, _Reason} = Result -> Result end |