Changeset - 4129eb7447bd
[Not reviewed]
default
0 1 0
Nathan Brink (binki) - 15 years ago 2010-07-29 00:34:10
ohnobinki@ohnopublishing.net
Fix bug when the server handles multiple requests for one read().
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/server/listen.c
Show inline comments
 
@@ -421,25 +421,25 @@ size_t distrend_listen_read_handle(struc
 
	  return 1;
 
	}
 
      memcpy(reqdata, ((void *)buf) + sizeof(struct distren_request), req->len);
 

	
 
      client->expectlen = 0;
 
      used_len = sizeof(struct distren_request) + req->len;
 

	
 
      distrend_dispatch_request(listens, rem, client, req, reqdata);
 
      free(reqdata);
 
      distren_request_free(req);
 

	
 
      /* I actually just used recursion in non-LISP code! :-D */
 
      return used_len + distrend_listen_read_handle(rem, listens, buf + req->len, len - req->len, client);
 
      return used_len + distrend_listen_read_handle(rem, listens, buf + used_len, len - used_len, client);
 
    }
 

	
 
  return used_len;
 
}
 

	
 
/**
 
 * Handle cleaning up after remoteio_close() has been called. This includes cleaning up the struct distrend_client and stuffs
 
 */
 
void distrend_listen_remoteio_handle_close(struct distrend_listens *listens, struct distrend_client *client)
 
{
 
  /*
 
   * remoteio handles removing itself from multiio for us. We just
0 comments (0 inline, 0 general)