#include "msg/msg.h"
#include "gras/Virtu/virtu_sg.h"
-XBT_LOG_EXTERNAL_CATEGORY(transport);
-XBT_LOG_DEFAULT_CATEGORY(transport);
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(gras_trp);
+
+/* check transport_private.h for an explanation of this variable; this just need to be defined to NULL in SG */
+gras_socket_t _gras_lastly_selected_socket = NULL;
/**
* gras_trp_select:
gras_socket_t gras_trp_select(double timeout) {
gras_socket_t res;
- gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_by_id(gras_trp_libdata_id);
+ gras_trp_procdata_t pd =
+ (gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id);
gras_trp_sg_sock_data_t *sockdata;
gras_trp_plugin_t trp;
/* Try to reuse an already openned socket to that expeditor */
xbt_dynar_foreach(pd->sockets,cursor,sock_iter) {
DEBUG1("Consider %p as outgoing socket to expeditor",sock_iter);
- sockdata = sock_iter->data;
if (sock_iter->meas || !sock_iter->outgoing)
continue;
+ sockdata = sock_iter->data;
if (sockdata->to_PID == r_pid) {
return sock_iter;
}
res->accepting = 0;
res->sd = -1;
- res->port = -1;
+ res->port = -1;
sockdata = xbt_new(gras_trp_sg_sock_data_t,1);
sockdata->from_PID = MSG_process_self_PID();
sockdata->to_host = MSG_process_get_host(MSG_process_from_PID(r_pid));
res->data = sockdata;
gras_trp_buf_init_sock(res);
-
+
res->peer_name = strdup(MSG_host_get_name(sockdata->to_host));
remote_hd=(gras_hostdata_t *)MSG_host_get_data(sockdata->to_host);
}
}
}
+ res->peer_port = ((gras_trp_procdata_t) gras_libdata_by_name_from_remote("gras_trp",MSG_process_from_PID(r_pid)))->myport;
xbt_assert0(sockdata->to_chan != -1,
"Got a message from a process without channel");