Procházet zdrojové kódy

totemsrp: Move token received callback

Trigger token received callback only for valid token.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
(cherry picked from commit 40d636e9eff33bc9ce2ba95089198cf83a43063c)
Jan Friesse před 5 roky
rodič
revize
5f292397b7
1 změnil soubory, kde provedl 6 přidání a 2 odebrání
  1. 6 2
      exec/totemsrp.c

+ 6 - 2
exec/totemsrp.c

@@ -4053,8 +4053,6 @@ static int message_handler_orf_token (
 		}
 		}
 	}
 	}
 
 
-	token_callbacks_execute (instance, TOTEM_CALLBACK_TOKEN_RECEIVED);
-
 	switch (instance->memb_state) {
 	switch (instance->memb_state) {
 	case MEMB_STATE_COMMIT:
 	case MEMB_STATE_COMMIT:
 		 /* Discard token */
 		 /* Discard token */
@@ -4095,6 +4093,12 @@ static int message_handler_orf_token (
 		if (sq_lte_compare (token->token_seq, instance->my_token_seq)) {
 		if (sq_lte_compare (token->token_seq, instance->my_token_seq)) {
 			return (0); /* discard token */
 			return (0); /* discard token */
 		}
 		}
+
+		/*
+		 * Token is valid so trigger callbacks
+		 */
+		token_callbacks_execute (instance, TOTEM_CALLBACK_TOKEN_RECEIVED);
+
 		last_aru = instance->my_last_aru;
 		last_aru = instance->my_last_aru;
 		instance->my_last_aru = token->aru;
 		instance->my_last_aru = token->aru;