File 0352-erts-Fix-HEART_NO_KILL-logic.patch of Package erlang

From 98068b0698d6cc0d0dd172ab575b1b4c74d864fb Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Fri, 10 Jun 2016 08:34:36 +0200
Subject: [PATCH] erts: Fix HEART_NO_KILL logic

---
 erts/etc/common/heart.c         | 4 ++--
 lib/kernel/test/heart_SUITE.erl | 7 +++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/erts/etc/common/heart.c b/erts/etc/common/heart.c
index 0dd82cc036..6f14b08deb 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 16b9f7a9ee..c18d12c2b2 100644
--- a/lib/kernel/test/heart_SUITE.erl
+++ b/lib/kernel/test/heart_SUITE.erl
@@ -70,7 +70,8 @@ all() -> [
 	set_cmd, clear_cmd, get_cmd,
 	callback_api,
         options_api,
-	kill_pid
+	kill_pid,
+        heart_no_kill
     ].
 
 groups() -> 
@@ -650,7 +651,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
-- 
2.16.4

openSUSE Build Service is sponsored by