Finally tracked down the oddball valgrind warning that I could never figure
[m6w6/libmemcached] / lib / memcached_connect.c
index 57274be2086a17d35192dd98bd68c54716de2507..34613ddd13a7a1007a8ec45b3bbdd2ed69170911 100644 (file)
@@ -33,7 +33,6 @@ memcached_return memcached_real_connect(memcached_st *ptr, unsigned int server_k
       return MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE;
     }
 
-
     /* bind any port number */
     localAddr.sin_family = AF_INET;
     localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
@@ -57,6 +56,18 @@ memcached_return memcached_real_connect(memcached_st *ptr, unsigned int server_k
                  &flag, (socklen_t)sizeof(int));
     }
 
+    if (ptr->send_size)
+    {
+      setsockopt(ptr->hosts[server_key].fd, SOL_SOCKET, SO_SNDBUF, 
+                 &ptr->send_size, (socklen_t)sizeof(int));
+    }
+
+    if (ptr->recv_size)
+    {
+      setsockopt(ptr->hosts[server_key].fd, SOL_SOCKET, SO_SNDBUF, 
+                 &ptr->recv_size, (socklen_t)sizeof(int));
+    }
+
     /* connect to server */
 test_connect:
     if (connect(ptr->hosts[server_key].fd, (struct sockaddr *) &servAddr, sizeof(servAddr)) < 0)