aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-06-14 08:32:38 +0200
committerLukas Larsson <[email protected]>2016-06-14 08:32:38 +0200
commita1d506d8bf8978656d76bff884adc329d2f4da3b (patch)
tree9743ed6fab4141ba28114b9d29f22fb9ed7b822d
parent0a4a51abc50605038591371a07fe39903f7a2cf6 (diff)
parent98068b0698d6cc0d0dd172ab575b1b4c74d864fb (diff)
downloadotp-a1d506d8bf8978656d76bff884adc329d2f4da3b.tar.gz
otp-a1d506d8bf8978656d76bff884adc329d2f4da3b.tar.bz2
otp-a1d506d8bf8978656d76bff884adc329d2f4da3b.zip
Merge branch 'dotsimon/erts/heart_no_kill/OTP-13650'
* dotsimon/erts/heart_no_kill/OTP-13650: erts: Fix HEART_NO_KILL logic
-rw-r--r--erts/etc/common/heart.c4
-rw-r--r--lib/kernel/test/heart_SUITE.erl7
2 files changed, 7 insertions, 4 deletions
diff --git a/erts/etc/common/heart.c b/erts/etc/common/heart.c
index a4008186c4..d67b997d6d 100644
--- a/erts/etc/common/heart.c
+++ b/erts/etc/common/heart.c
@@ -529,7 +529,7 @@ kill_old_erlang(void){
char* envvar = NULL;
envvar = get_env(HEART_NO_KILL);
- if (!envvar || strcmp(envvar, "TRUE") == 0)
+ if (envvar && strcmp(envvar, "TRUE") == 0)
return;
if(heart_beat_kill_pid != 0){
@@ -566,7 +566,7 @@ kill_old_erlang(void){
char *envvar = NULL;
envvar = get_env(HEART_NO_KILL);
- if (!envvar || strcmp(envvar, "TRUE") == 0)
+ if (envvar && strcmp(envvar, "TRUE") == 0)
return;
envvar = get_env(HEART_KILL_SIGNAL);
diff --git a/lib/kernel/test/heart_SUITE.erl b/lib/kernel/test/heart_SUITE.erl
index e63ed34973..45032faf6d 100644
--- a/lib/kernel/test/heart_SUITE.erl
+++ b/lib/kernel/test/heart_SUITE.erl
@@ -74,7 +74,8 @@ all() -> [
set_cmd, clear_cmd, get_cmd,
callback_api,
options_api,
- kill_pid
+ kill_pid,
+ heart_no_kill
].
groups() ->
@@ -634,7 +635,9 @@ suicide_by_heart() ->
end.
non_suicide_by_heart() ->
- P = open_port({spawn,"heart -ht 11 -pid "++os:getpid()},[exit_status, {env, {"HEART_NO_KILL", "TRUE"}}, {packet,2}]),
+ P = open_port({spawn,"heart -ht 11 -pid "++os:getpid()},
+ [exit_status, {env, [{"HEART_NO_KILL", "TRUE"}]},
+ {packet,2}]),
receive X -> X end,
%% Just hang and wait for heart to timeout
receive