Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Unregister failed sockets from the big socket dynar
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 28 May 2006 20:42:32 +0000 (20:42 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sun, 28 May 2006 20:42:32 +0000 (20:42 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2297 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Transport/transport.c

index 7dc7785..69ff90e 100644 (file)
@@ -214,6 +214,13 @@ gras_socket_server_ext(unsigned short port,
           sock->outgoing?'y':'n',
           sock->accepting?'y':'n');
   } CATCH(e) {
+    int cursor;
+    gras_socket_t sock_iter;
+    xbt_dynar_t socks = ((gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id))->sockets;
+    xbt_dynar_foreach(socks, cursor, sock_iter) {
+       if (sock_iter==sock) 
+        xbt_dynar_cursor_rm(socks,&cursor);
+    }     
     free(sock);
     RETHROW;
   }