Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix several glitches, add a 'proc' field to the sockets. I want to know the name...
[simgrid.git] / src / gras / Transport / transport.c
index aefa845..4e76331 100644 (file)
@@ -36,7 +36,7 @@ gras_trp_plugin_new(const char *name, gras_trp_setup_t setup) {
       free(plug->name);
       free(plug);
       plug=NULL;
-      xbt_ex_free(&e);
+      xbt_ex_free(e);
     } else {
       RETHROW;
     }
@@ -162,13 +162,15 @@ void gras_trp_socket_new(int incoming,
   sock->port      = -1;
   sock->peer_port = -1;
   sock->peer_name = NULL;
+  sock->peer_proc = NULL;
 
   sock->data   = NULL;
   sock->bufdata = NULL;
   
   *dst = sock;
 
-  xbt_dynar_push(((gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id))->sockets,dst);
+  xbt_dynar_push(((gras_trp_procdata_t) 
+                    gras_libdata_by_id(gras_trp_libdata_id))->sockets,dst);
   XBT_OUT;
 }
 
@@ -273,7 +275,7 @@ gras_socket_client_ext(const char *host,
  */
 gras_socket_t
 gras_socket_server(unsigned short port) {
-   return gras_socket_server_ext(port,32,0);
+   return gras_socket_server_ext(port,32*1024,0);
 }
 
 /**
@@ -285,7 +287,7 @@ gras_socket_server(unsigned short port) {
 gras_socket_t
 gras_socket_client(const char *host,
                   unsigned short port) {
-   return gras_socket_client_ext(host,port,32,0);
+   return gras_socket_client_ext(host,port,32*1024,0);
 }
 
 
@@ -363,6 +365,13 @@ int   gras_socket_peer_port(gras_socket_t sock) {
 char *gras_socket_peer_name(gras_socket_t sock) {
   return sock->peer_name;
 }
+char *gras_socket_peer_proc(gras_socket_t sock) {
+  return sock->peer_proc;
+}
+
+void gras_socket_peer_proc_set(gras_socket_t sock,char*peer_proc) {
+  sock->peer_proc = peer_proc;
+}
 
 /** \brief Check if the provided socket is a measurement one (or a regular one) */
 int gras_socket_is_meas(gras_socket_t sock) {
@@ -470,7 +479,8 @@ gras_socket_t gras_socket_meas_accept(gras_socket_t peer){
              "No need to accept on non-measurement sockets (it's automatic)");
 
   if (!peer->accepting) {
-    /* nothing to accept here */
+    /* nothing to accept here (must be in SG) */
+    /* BUG: FIXME: this is BAD! it makes tricky to free the accepted socket*/
     return peer;
   }