corosync/corosync-trunk_r1774.diff
2009-02-23 09:32:40 +00:00

24 lines
830 B
Diff

Index: exec/vsf_quorum.c
===================================================================
--- exec/vsf_quorum.c (revision 1773)
+++ exec/vsf_quorum.c (revision 1774)
@@ -119,12 +119,14 @@
memcpy(&quorum_ring_id, ring_id, sizeof (quorum_ring_id));
quorum_view_list_entries = view_list_entries;
+
+ /* Tell sync() only if there is a new ring_id (ie this is not a 'fake' quorum event) */
+ if (memcmp(&quorum_ring_id, ring_id, sizeof (quorum_ring_id))) {
+ sync_primary_callback_fn(view_list, view_list_entries,
+ primary_designated, ring_id);
+ }
memcpy(quorum_view_list, view_list, sizeof(unsigned int)*view_list_entries);
- /* Tell sync() */
- sync_primary_callback_fn(view_list, view_list_entries,
- primary_designated, &quorum_ring_id);
-
/* Tell internal listeners */
send_internal_notification();