X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6511b78ff810ead55a110d42b01a08255a55b56d..7f7f3561941c2be9d43711afb3036dc47df26651:/src/gras/Transport/rl_transport.c diff --git a/src/gras/Transport/rl_transport.c b/src/gras/Transport/rl_transport.c index 5069c428c5..1dfa236d50 100644 --- a/src/gras/Transport/rl_transport.c +++ b/src/gras/Transport/rl_transport.c @@ -34,8 +34,9 @@ gras_trp_select(double timeout, gras_socket_t **dst) { gras_error_t errcode; + gras_dynar_t *sockets= gras_socketset_get(); int done = -1; - double wakeup = gras_time() + 1000000*timeout; + double wakeup = gras_os_time() + 1000000*timeout; double now = 0; /* nextToService used to make sure socket with high number do not starve */ // static int nextToService = 0; @@ -51,7 +52,7 @@ gras_trp_select(double timeout, *dst=NULL; while (done == -1) { if (timeout > 0) { /* did we timeout already? */ - now = gras_time(); + now = gras_os_time(); if (now == -1 || now >= wakeup) { done = 0; /* didn't find anything */ break; @@ -60,7 +61,7 @@ gras_trp_select(double timeout, /* construct the set of socket to ear from */ FD_ZERO(&FDS); - gras_dynar_foreach(_gras_trp_sockets,cursor,sock_iter) { + gras_dynar_foreach(sockets,cursor,sock_iter) { if (sock_iter->incoming) { if (max_fds < sock_iter->sd) max_fds = sock_iter->sd; @@ -72,7 +73,7 @@ gras_trp_select(double timeout, /* we cannot have more than FD_SETSIZE sockets */ if (++max_fds > FD_SETSIZE) { - WARNING0("too many open sockets."); + WARN0("too many open sockets."); done = 0; break; } @@ -115,7 +116,7 @@ gras_trp_select(double timeout, continue; /* this was a timeout */ } - gras_dynar_foreach(_gras_trp_sockets,cursor,sock_iter) { + gras_dynar_foreach(sockets,cursor,sock_iter) { if(!FD_ISSET(sock_iter->sd, &FDS)) { /* this socket is not ready */ continue; } @@ -129,7 +130,7 @@ gras_trp_select(double timeout, gras_socket_t *accepted; TRY(sock_iter->plugin->socket_accept(sock_iter,&accepted)); - TRY(gras_dynar_push(_gras_trp_sockets,&accepted)); + accepted->raw = sock_iter->raw; } else { #if 0 FIXME: this fails of files. quite logical @@ -139,7 +140,7 @@ gras_trp_select(double timeout, recvd = recv(sock_iter->sd, &lookahead, 1, MSG_PEEK); if (recvd < 0) { - WARNING2("socket %d failed: %s", sock_iter->sd, strerror(errno)); + WARN2("socket %d failed: %s", sock_iter->sd, strerror(errno)); /* done with this socket */ gras_socket_close(&sock_iter); cursor--; @@ -168,3 +169,7 @@ gras_trp_select(double timeout, return timeout_error; } + +gras_error_t gras_trp_sg_setup(gras_trp_plugin_t *plug) { + return mismatch_error; +}