From: mquinson Date: Sun, 28 May 2006 20:42:32 +0000 (+0000) Subject: Unregister failed sockets from the big socket dynar X-Git-Tag: v3.3~3061 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9149b1c5798289003b52371fcf2fd8c221821183 Unregister failed sockets from the big socket dynar git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2297 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/gras/Transport/transport.c b/src/gras/Transport/transport.c index 7dc7785f12..69ff90e90f 100644 --- a/src/gras/Transport/transport.c +++ b/src/gras/Transport/transport.c @@ -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; }