From ae8d3bc9b32e95ce6f9a2da3b6ae961f04071c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20H=C3=B6gberg?= Date: Thu, 1 Jun 2017 10:13:51 +0200 Subject: Unconditionally clear IO buffers on send/shutdown errors This fixes a bug where a send/shutdown error on an active-mode socket results in the port never being properly closed. --- erts/emulator/drivers/common/inet_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'erts') diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index 1885338ce5..ebd13e6f05 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -10386,6 +10386,9 @@ static int tcp_send_or_shutdown_error(tcp_descriptor* desc, int err) set_busy_port(desc->inet.port, 0); } + tcp_clear_output(desc); + tcp_clear_input(desc); + /* * We used to handle "expected errors" differently from unexpected ones. * Now we handle all errors in the same way (unless the show_econnreset @@ -10408,8 +10411,6 @@ static int tcp_send_or_shutdown_error(tcp_descriptor* desc, int err) else desc_close(INETP(desc)); } else { - tcp_clear_output(desc); - tcp_clear_input(desc); tcp_close_check(desc); erl_inet_close(INETP(desc)); -- cgit v1.2.3 From f6291051f83ec0f1ef2551d0989d9d4815fea47b Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Fri, 2 Jun 2017 14:14:28 +0200 Subject: Prepare release --- erts/doc/src/notes.xml | 15 +++++++++++++++ erts/vsn.mk | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'erts') diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index dd260f2d1f..588d6eecab 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -31,6 +31,21 @@

This document describes the changes made to the ERTS application.

+
Erts 8.1.1.1 + +
Fixed Bugs and Malfunctions + + +

+ A code purge operation could under certain circumstances + expand the size of hibernated processes.

+

+ Own Id: OTP-14444 Aux Id: ERIERL-24

+
+
+
+ +
Erts 8.1.1 diff --git a/erts/vsn.mk b/erts/vsn.mk index 317d731cd7..d0a2831ee2 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 8.1.1 +VSN = 8.1.1.1 # Port number 4365 in 4.2 # Port number 4366 in 4.3 -- cgit v1.2.3 From 8c807c89fd93ac60137c72ce597759b697ac0ec7 Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Mon, 5 Jun 2017 15:55:31 +0200 Subject: erts: Fix so that 81b628 (sigterm=kill) works OTP-14451 --- erts/emulator/sys/unix/sys.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'erts') diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c index de8481b206..7f738751ff 100644 --- a/erts/emulator/sys/unix/sys.c +++ b/erts/emulator/sys/unix/sys.c @@ -838,11 +838,13 @@ void sys_init_suspend_handler(void) void erts_sys_unix_later_init(void) { - char env[4]; + char env[5]; size_t envsz = sizeof(env); + if (erts_sys_getenv_raw("ERL_ZZ_SIGTERM_KILL", env, &envsz) == 0) - if (envsz == 4 && sys_strncmp("true",env,4) == 0) + if (envsz == 4 && sys_strncmp("true", env, 4) == 0) return; + sys_signal(SIGTERM, request_stop); } -- cgit v1.2.3 From b14b5bb42a5a47c3fc0426fb80c060e5ffd9deb6 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Wed, 7 Jun 2017 15:19:29 +0200 Subject: Update version numbers --- erts/vsn.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'erts') diff --git a/erts/vsn.mk b/erts/vsn.mk index dc17ed8b3d..acc50dc188 100644 --- a/erts/vsn.mk +++ b/erts/vsn.mk @@ -18,7 +18,7 @@ # %CopyrightEnd% # -VSN = 8.3.4 +VSN = 8.3.5 # Port number 4365 in 4.2 # Port number 4366 in 4.3 -- cgit v1.2.3 From 52b2161b5e28d2a11031168634ab7f513cc6d842 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Wed, 7 Jun 2017 15:19:37 +0200 Subject: Update release notes --- erts/doc/src/notes.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'erts') diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml index 35d7381cf3..02b4de404e 100644 --- a/erts/doc/src/notes.xml +++ b/erts/doc/src/notes.xml @@ -32,6 +32,35 @@

This document describes the changes made to the ERTS application.

+
Erts 8.3.5 + +
Fixed Bugs and Malfunctions + + +

Active-mode TCP sockets are now cleaned up properly on + send/shutdown errors.

+

+ Own Id: OTP-14441 Aux Id: ERL-430

+
+ +

+ A code purge operation could under certain circumstances + expand the size of hibernated processes.

+

+ Own Id: OTP-14444 Aux Id: ERIERL-24

+
+ +

+ Fix so that the ERL_ZZ_SIGTERM_KILL introduced in + erts-8.3.4 works.

+

+ Own Id: OTP-14451

+
+
+
+ +
+
Erts 8.3.4
Fixed Bugs and Malfunctions -- cgit v1.2.3