Просмотр исходного кода

Patch to set system from field properly in retransmitted messages.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1484 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 18 лет назад
Родитель
Сommit
8803c75760
1 измененных файлов с 5 добавлено и 5 удалено
  1. 5 5
      exec/totemsrp.c

+ 5 - 5
exec/totemsrp.c

@@ -1921,14 +1921,14 @@ static void memb_state_recovery_enter (
 // TODO	 LEAK
 	message_item.mcast = malloc (sizeof (struct mcast));
 	assert (message_item.mcast);
-	memcpy (message_item.mcast, sort_queue_item->iovec[0].iov_base,
-		sizeof (struct mcast));
-	memcpy (&message_item.mcast->ring_id, &instance->my_ring_id,
-		sizeof (struct memb_ring_id));
+	message_item.mcast->header.type = MESSAGE_TYPE_MCAST;
+	srp_addr_copy (&message_item.mcast->system_from, &instance->my_id);
 	message_item.mcast->header.encapsulated = MESSAGE_ENCAPSULATED;
 	message_item.mcast->header.nodeid = instance->my_id.addr[0].nodeid;
-	message_item.mcast->header.endian_detector = ENDIAN_LOCAL;
 	assert (message_item.mcast->header.nodeid);
+	message_item.mcast->header.endian_detector = ENDIAN_LOCAL;
+	memcpy (&message_item.mcast->ring_id, &instance->my_ring_id,
+		sizeof (struct memb_ring_id));
 	message_item.iov_len = sort_queue_item->iov_len;
 	memcpy (&message_item.iovec, &sort_queue_item->iovec,
 		sizeof (struct iovec) * sort_queue_item->iov_len);