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
This commit is contained in:
Steven Dake 2006-08-03 05:32:11 +00:00
parent 420d2e30ea
commit b6b81153bb

View File

@ -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);
}
}