Explorar o código

Make sure sync_activate is called only once per service handler.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1174 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake %!s(int64=19) %!d(string=hai) anos
pai
achega
b6b81153bb
Modificáronse 1 ficheiros con 6 adicións e 4 borrados
  1. 6 4
      exec/sync.c

+ 6 - 4
exec/sync.c

@@ -402,16 +402,16 @@ static void sync_deliver_fn (
 		}
 	}
 	if (barrier_completed) {
-		log_printf (LOG_LEVEL_NOTICE,
+		log_printf (LOG_LEVEL_DEBUG,
 			"Synchronization barrier completed\n");
 	}
 	/*
 	 * This sync is complete so activate and start next service sync
 	 */
-	if (sync_callbacks.sync_activate) {
+	if (barrier_completed && sync_callbacks.sync_activate) {
 		sync_callbacks.sync_activate ();
 	
-		log_printf (LOG_LEVEL_NOTICE,
+		log_printf (LOG_LEVEL_DEBUG,
 			"Committing synchronization for (%s)\n",
 			sync_callbacks.name);
 	
@@ -430,7 +430,9 @@ static void sync_deliver_fn (
 		 * if sync service found, execute it
 		 */
 		if (sync_processing && sync_callbacks.sync_init) {
-			log_printf (LOG_LEVEL_NOTICE,"Synchronization actions starting for (%s)\n",sync_callbacks.name);
+			log_printf (LOG_LEVEL_DEBUG,
+				"Synchronization actions starting for (%s)\n",
+				sync_callbacks.name);
 			sync_service_init (&deliver_ring_id);
 		}
 	}