From: Alexey Lebedeff <alebedev@mirantis.com>
Date: Thu, 10 Dec 2015 11:56:31 +0000 (+0300)
Subject: Backport fix for internal state corruption.
X-Git-Tag: mos-9.0~5
X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F86%2F14586%2F1;p=packages%2Ftrusty%2Frabbitmq-server.git

Backport fix for internal state corruption.

Upstream patch - https://github.com/rabbitmq/rabbitmq-common/pull/18

Change-Id: I1d2cd47305c0dfa8279e418088d8ab0e98e4ecc7
Partial-Bug: #1518264
---

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..845ca06
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.pc
diff --git a/debian/changelog b/debian/changelog
index 993b354..83a7f52 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+rabbitmq-server (3.5.6-1~u14.04+mos2) mos8.0; urgency=medium
+
+  * Backport https://github.com/rabbitmq/rabbitmq-common/pull/18
+
+ -- Alexey Lebedeff <alebedev@mirantis.com>  Thu, 10 Dec 2015 14:54:05 +0300
+
 rabbitmq-server (3.5.6-1~u14.04+mos1) mos8.0; urgency=medium
 
   * New upstream release.
diff --git a/debian/patches/fix-pmon-demonitor-function.diff b/debian/patches/fix-pmon-demonitor-function.diff
new file mode 100644
index 0000000..5f114b3
--- /dev/null
+++ b/debian/patches/fix-pmon-demonitor-function.diff
@@ -0,0 +1,19 @@
+Description: Fix internal state corruption introduced by pmon:demonitor/2
+Author: Alexey Lebedeff <alebedev@mirantis.com>
+Origin: backport, https://github.com/rabbitmq/rabbitmq-common/pull/18
+Applied-Upstream: 3.5.7, 3.6.0
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: rabbitmq-server/src/pmon.erl
+===================================================================
+--- rabbitmq-server.orig/src/pmon.erl
++++ rabbitmq-server/src/pmon.erl
+@@ -84,7 +84,7 @@ demonitor(Item, S = #state{dict = M, mod
+     case dict:find(Item, M) of
+         {ok, MRef} -> Module:demonitor(MRef),
+                       S#state{dict = dict:erase(Item, M)};
+-        error      -> M
++        error      -> S
+     end.
+ 
+ is_monitored(Item, #state{dict = M}) -> dict:is_key(Item, M).
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..a2227a7
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+fix-pmon-demonitor-function.diff