Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Initialize whether the accepted sock is raw or not from what the server socket is.
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 5 Jul 2004 22:15:54 +0000 (22:15 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 5 Jul 2004 22:15:54 +0000 (22:15 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@160 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Transport/rl_transport.c

index 6ad6514..ce85e46 100644 (file)
@@ -34,6 +34,7 @@ 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 now = 0;
@@ -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;
@@ -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,8 @@ 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;
+        TRY(gras_dynar_push(sockets,&accepted));
        } else {
 #if 0 
        FIXME: this fails of files. quite logical