diff options
author | Sverker Eriksson <[email protected]> | 2018-06-29 15:49:11 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-06-29 15:49:11 +0200 |
commit | d8f9138ce941fbce571a05afaf2453765aa25899 (patch) | |
tree | 04d1287e0d7a917b6c2cd11f94ffbd7715f4a97b /lib/erl_interface | |
parent | d7495c826d4c653f72d510c3a8ff4034d732b323 (diff) | |
parent | 857156bcadae45fe112911bd7ca735ac6f3ca9d2 (diff) | |
download | otp-d8f9138ce941fbce571a05afaf2453765aa25899.tar.gz otp-d8f9138ce941fbce571a05afaf2453765aa25899.tar.bz2 otp-d8f9138ce941fbce571a05afaf2453765aa25899.zip |
Merge branch 'maint-20' into maint
* maint-20:
Updated OTP version
Prepare release
kernel: Fix tick count bug when pending writes
kernel: Send tick to hidden node even if pending writes
ic: Fix buffer overrun bug in oe_ei_encode_atom
erl_interface: Fix simultaneous connection setup
Diffstat (limited to 'lib/erl_interface')
-rw-r--r-- | lib/erl_interface/doc/src/notes.xml | 18 | ||||
-rw-r--r-- | lib/erl_interface/src/connect/ei_connect.c | 9 |
2 files changed, 24 insertions, 3 deletions
diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml index 5b81f795b2..1438317d8d 100644 --- a/lib/erl_interface/doc/src/notes.xml +++ b/lib/erl_interface/doc/src/notes.xml @@ -69,6 +69,24 @@ </section> +<section><title>Erl_Interface 3.10.2.1</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Make <c>ei_connect</c> and friends also accept state + <c>ok_simultaneous</c> during handshake, which means the + other node has initiated a connection setup that will be + cancelled in favor of this connection.</p> + <p> + Own Id: OTP-15161 Aux Id: ERIERL-191 </p> + </item> + </list> + </section> + +</section> + <section><title>Erl_Interface 3.10.2</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/erl_interface/src/connect/ei_connect.c b/lib/erl_interface/src/connect/ei_connect.c index f5034ca3e8..34f4620866 100644 --- a/lib/erl_interface/src/connect/ei_connect.c +++ b/lib/erl_interface/src/connect/ei_connect.c @@ -1357,11 +1357,14 @@ static int recv_status(int fd, unsigned ms) "<- RECV_STATUS socket read failed (%d)", rlen); goto error; } - if (rlen == 3 && buf[0] == 's' && buf[1] == 'o' && - buf[2] == 'k') { + + EI_TRACE_CONN2("recv_status", + "<- RECV_STATUS (%.*s)", (rlen>20 ? 20 : rlen), buf); + + if (rlen >= 3 && buf[0] == 's' && buf[1] == 'o' && buf[2] == 'k') { + /* Expecting "sok" or "sok_simultaneous" */ if (!is_static) free(buf); - EI_TRACE_CONN0("recv_status","<- RECV_STATUS (ok)"); return 0; } error: |