Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
payload_size is used to memcpy the payload. Do not count the size of the pointed...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 20 Oct 2005 11:00:32 +0000 (11:00 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 20 Oct 2005 11:00:32 +0000 (11:00 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1765 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Msg/sg_msg.c

index cce652b..6add5c1 100644 (file)
@@ -30,6 +30,8 @@ gras_msg_send(gras_socket_t   sock,
   m_task_t task=NULL;
   gras_trp_sg_sock_data_t *sock_data = (gras_trp_sg_sock_data_t *)sock->data;
   gras_msg_t msg;
   m_task_t task=NULL;
   gras_trp_sg_sock_data_t *sock_data = (gras_trp_sg_sock_data_t *)sock->data;
   gras_msg_t msg;
+  int whole_payload_size=0; /* msg->payload_size is used to memcpy the payload. 
+                               This is used to report the load onto the simulator. It also counts the size of pointed stuff */
 
   xbt_assert1(!gras_socket_is_meas(sock), 
              "Asked to send a message on the measurement socket %p", sock);
 
   xbt_assert1(!gras_socket_is_meas(sock), 
              "Asked to send a message on the measurement socket %p", sock);
@@ -37,9 +39,11 @@ gras_msg_send(gras_socket_t   sock,
   msg=xbt_new0(s_gras_msg_t,1);
   msg->type=msgtype;
 
   msg=xbt_new0(s_gras_msg_t,1);
   msg->type=msgtype;
 
+   
+  msg->payload_size=gras_datadesc_size(msgtype->ctn_type);
   msg->payload=xbt_malloc(gras_datadesc_size(msgtype->ctn_type));
   if (msgtype->ctn_type)
   msg->payload=xbt_malloc(gras_datadesc_size(msgtype->ctn_type));
   if (msgtype->ctn_type)
-    msg->payload_size=gras_datadesc_copy(msgtype->ctn_type,payload,msg->payload);
+    whole_payload_size = gras_datadesc_copy(msgtype->ctn_type,payload,msg->payload);
 
   task=MSG_task_create(msgtype->name,0,
                       ((double)msg->payload_size)/(1024.0*1024.0),msg);
 
   task=MSG_task_create(msgtype->name,0,
                       ((double)msg->payload_size)/(1024.0*1024.0),msg);