Hello community,

here is the log from the commit of package erlang for openSUSE:Factory checked 
in at 2015-08-28 08:26:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/erlang (Old)
 and      /work/SRC/openSUSE:Factory/.erlang.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "erlang"

Changes:
--------
--- /work/SRC/openSUSE:Factory/erlang/erlang.changes    2015-08-01 
11:37:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.erlang.new/erlang.changes       2015-08-28 
08:27:07.000000000 +0200
@@ -1,0 +2,14 @@
+Wed Aug 26 17:23:03 UTC 2015 - kru...@zib.de
+
+- update to 18.0.3:
+  * erts: Fixed a binary memory leak when printing to shell using
+          the tty driver (i.e. not -oldshell).
+  * erts: Fix a bug where the standard error port sometimes
+          crashes with eagain as the reason.
+
+-------------------------------------------------------------------
+Thu Aug 13 14:11:34 UTC 2015 - kru...@zib.de
+
+- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts
+
+-------------------------------------------------------------------

Old:
----
  OTP-18.0.2.tar.gz

New:
----
  OTP-18.0.3.tar.gz
  erts_fix_unlock_status_lock.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ erlang.spec ++++++
--- /var/tmp/diff_new_pack.z3tWsP/_old  2015-08-28 08:27:08.000000000 +0200
+++ /var/tmp/diff_new_pack.z3tWsP/_new  2015-08-28 08:27:08.000000000 +0200
@@ -21,7 +21,7 @@
 %endif
 
 Name:           erlang
-Version:        18.0.2
+Version:        18.0.3
 Release:        0
 Summary:        General-purpose programming language and runtime environment
 License:        Apache-2.0
@@ -41,6 +41,8 @@
 Patch4:         erlang-not-install-misc.patch
 # PATCH-FIX-UPSTREAM crypto.patch - matwey.korni...@gmail.com -- fix 
compilation with disabled EC in openssl
 Patch5:         crypto.patch
+# PATCH-FIX-UPSTREAM erts_fix_unlock_status_lock.patch - 
lukas.lars...@erlang-solutions.com -- erts: Make sure to unlock status lock 
when setting process prio
+Patch6:         erts_fix_unlock_status_lock.patch
 BuildRequires:  autoconf
 BuildRequires:  gcc-c++
 BuildRequires:  ncurses-devel
@@ -295,6 +297,7 @@
 %patch0 -p1 -b .rpath
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 cp %{S:9} .
 
 ./otp_build autoconf

++++++ OTP-18.0.2.tar.gz -> OTP-18.0.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/erlang/OTP-18.0.2.tar.gz 
/work/SRC/openSUSE:Factory/.erlang.new/OTP-18.0.3.tar.gz differ: char 18, line 1

++++++ erts_fix_unlock_status_lock.patch ++++++
>From 02380778fd2a9d6af85865a89ef0747351cc0f88 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas.lars...@erlang-solutions.com>
Date: Thu, 13 Aug 2015 14:52:20 +0200
Subject: [PATCH] erts: Make sure to unlock status lock when setting process
 prio

---
 erts/emulator/beam/erl_process.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 7b3d12c..98f01bb 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -9177,6 +9177,10 @@ erts_set_process_priority(Process *p, Eterm value)
 
            a = erts_smp_atomic32_cmpxchg_mb(&p->state, n, e);
        } while (a != e);
+
+        if (slocked)
+            erts_smp_proc_unlock(p, ERTS_PROC_LOCK_STATUS);
+
     }
 
     switch (oprio) {

Reply via email to