aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2019-08-01 18:36:16 +0200
committerMicael Karlberg <[email protected]>2019-08-01 18:36:16 +0200
commit412b9aee0f4529f6708040f060f77221022f4c20 (patch)
tree4bd086164b60f1e1ca673dde2f1286be12fa69c5
parent1f09c724bcc29e94bc3a1992420bab89a7f768ba (diff)
parent5160aa7f66dff4f9beb3a57eb9b1f3dc3b408617 (diff)
downloadotp-412b9aee0f4529f6708040f060f77221022f4c20.tar.gz
otp-412b9aee0f4529f6708040f060f77221022f4c20.tar.bz2
otp-412b9aee0f4529f6708040f060f77221022f4c20.zip
Merge branch 'bmk/erts/esock/20190730/select_info/OTP-15958' into maint
-rw-r--r--erts/doc/src/socket_usage.xml5
-rw-r--r--erts/preloaded/ebin/socket.beambin76028 -> 75892 bytes
-rw-r--r--erts/preloaded/src/socket.erl8
3 files changed, 4 insertions, 9 deletions
diff --git a/erts/doc/src/socket_usage.xml b/erts/doc/src/socket_usage.xml
index dd54e51813..c3cda9a615 100644
--- a/erts/doc/src/socket_usage.xml
+++ b/erts/doc/src/socket_usage.xml
@@ -70,11 +70,6 @@
<p>The caller can then make another
call to the recv function and now expect data.</p>
<p>The user must also be prepared to receive an abort message: </p>
- <!--
- <list type="ordered">
- <item><c>{'$socket', Sock, abort, Info}</c></item>
- </list>
- -->
<taglist>
<!-- NOTE THAT THE EMPTY TAG IS INTENTIONAL -->
<tag></tag>
diff --git a/erts/preloaded/ebin/socket.beam b/erts/preloaded/ebin/socket.beam
index eafd7a97b2..73a0bd4f72 100644
--- a/erts/preloaded/ebin/socket.beam
+++ b/erts/preloaded/ebin/socket.beam
Binary files differ
diff --git a/erts/preloaded/src/socket.erl b/erts/preloaded/src/socket.erl
index e01c85d5d1..07e720c44d 100644
--- a/erts/preloaded/src/socket.erl
+++ b/erts/preloaded/src/socket.erl
@@ -627,11 +627,11 @@
-opaque select_tag() :: atom().
-opaque select_ref() :: reference().
--record(select_info, {tag :: select_tag(), ref :: select_ref()}).
+%% -record(select_info, {tag :: select_tag(), ref :: select_ref()}).
--type select_info() :: #select_info{}.
+-type select_info() :: {select_info, select_tag(), select_ref()}.
--define(SELECT_INFO(T, R), #select_info{tag = T, ref = R}).
+-define(SELECT_INFO(T, R), {select_info, T, R}).
-define(SELECT(T, R), {select, ?SELECT_INFO(T, R)}).
@@ -2685,7 +2685,7 @@ peername(#socket{ref = SockRef}) ->
SelectInfo :: select_info(),
Reason :: term().
-cancel(#socket{ref = SockRef}, #select_info{tag = Tag, ref = Ref}) ->
+cancel(#socket{ref = SockRef}, ?SELECT_INFO(Tag, Ref)) ->
cancel(SockRef, Tag, Ref).