Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Kill gras measurement sockets for now. If you rely on them, sorry.
[simgrid.git] / src / gras / Transport / transport.c
index cefc3e9..3d159d1 100644 (file)
@@ -162,6 +162,7 @@ void gras_trp_socket_new(int incoming, gras_socket_t * dst)
   sock->valid = 1;
   sock->moredata = 0;
 
+  sock->refcount = 1;
   sock->sd = -1;
 
   sock->data = NULL;
@@ -336,6 +337,9 @@ void gras_socket_close_voidp(void *sock)
 /** \brief Close socket */
 void gras_socket_close(gras_socket_t sock)
 {
+  if (--sock->refcount)
+    return;
+
   xbt_dynar_t sockets =
       ((gras_trp_procdata_t)
        gras_libdata_by_id(gras_trp_libdata_id))->sockets;
@@ -438,6 +442,7 @@ int gras_socket_peer_port(gras_socket_t sock)
 
 const char *gras_socket_peer_name(gras_socket_t sock)
 {
+  xbt_assert(sock->plugin);
   return (*sock->plugin->peer_name)(sock);
 }
 
@@ -485,7 +490,8 @@ void gras_socket_meas_send(gras_socket_t peer,
   unsigned long int sent_sofar;
 
   XBT_IN;
-
+  THROW0(unknown_error,0,"measurement sockets were broken in this release of SimGrid and should be ported back in the future."
+      "If you depend on it, sorry, you have to use an older version, or wait for the future version using it...");
   if (gras_if_RL())
     chunk = xbt_malloc0(msg_size);
 
@@ -532,6 +538,8 @@ void gras_socket_meas_recv(gras_socket_t peer,
   unsigned long int got_sofar;
 
   XBT_IN;
+  THROW0(unknown_error,0,"measurement sockets were broken in this release of SimGrid and should be ported back in the future."
+      "If you depend on it, sorry, you have to use an older version, or wait for the future version using it...");
 
   if (gras_if_RL())
     chunk = xbt_malloc(msg_size);
@@ -572,6 +580,8 @@ void gras_socket_meas_recv(gras_socket_t peer,
 gras_socket_t gras_socket_meas_accept(gras_socket_t peer)
 {
   gras_socket_t res;
+  THROW0(unknown_error,0,"measurement sockets were broken in this release of SimGrid and should be ported back in the future."
+      "If you depend on it, sorry, you have to use an older version, or wait for the future version using it...");
 
   xbt_assert0(peer->meas,
               "No need to accept on non-measurement sockets (it's automatic)");