File corosync-trunk-reset-pause-timestamp-on-events.patch of Package corosync

Index: exec/totemsrp.c
===================================================================
--- corosync-1.2.1/exec/totemsrp.c	(revision 2662)
+++ corosync-1.2.1/exec/totemsrp.c	(working copy)
@@ -3427,6 +3427,7 @@
 				cancel_heartbeat_timeout(instance);
 			}
 
+			timer_function_pause_timeout (instance);
 			return (0); /* discard token */
 		}
 
@@ -3451,6 +3452,7 @@
 				cancel_heartbeat_timeout(instance);
 			}
 
+			timer_function_pause_timeout (instance);
 			return (0); /* discard token */
 		}
 
@@ -3605,6 +3607,7 @@
 		cancel_heartbeat_timeout(instance);
 	}
 
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
@@ -3775,6 +3778,7 @@
 				memb_set_merge (&mcast_header.system_from, 1,
 					instance->my_proc_list, &instance->my_proc_list_entries);
 				memb_state_gather_enter (instance, 8);
+				timer_function_pause_timeout (instance);
 				return (0);
 			}
 			break;
@@ -3789,6 +3793,7 @@
 			instance->stats.rx_msg_dropped++;
 			break;
 		}
+		timer_function_pause_timeout (instance);
 		return (0);
 	}
 
@@ -3831,6 +3836,7 @@
 	}
 
 /* TODO remove from retrans message queue for old ring in recovery state */
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
@@ -3856,6 +3862,7 @@
 	if (memcmp (&instance->my_ring_id, &memb_merge_detect.ring_id,
 		sizeof (struct memb_ring_id)) == 0) {
 
+		timer_function_pause_timeout (instance);
 		return (0);
 	}
 
@@ -3891,6 +3898,8 @@
 		/* do nothing in recovery */
 		break;
 	}
+
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
@@ -4161,6 +4170,7 @@
 			}
 			break;
 	}
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
@@ -4242,6 +4252,8 @@
 			}
 			break;
 	}
+
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
@@ -4261,6 +4273,8 @@
 			timer_function_token_retransmit_timeout (instance);
 		}
 	}
+
+	timer_function_pause_timeout (instance);
 	return (0);
 }
 
openSUSE Build Service is sponsored by