- /* Old connection junk still is in the structure */
- WATCHPOINT_ASSERT(ptr->hosts[server_key].stack_responses == 0);
-
- /*
- If we have not allocated the hosts object.
- Or if the cache has not been set.
- */
- if (ptr->hosts[server_key].sockaddr_inited == MEMCACHED_NOT_ALLOCATED ||
- (!(ptr->flags & MEM_USE_CACHE_LOOKUPS)))
- {
- memcached_return rc;
-
- rc= set_hostinfo(&ptr->hosts[server_key]);
- if (rc != MEMCACHED_SUCCESS)
- return rc;
-
- ptr->hosts[server_key].sockaddr_inited= MEMCACHED_ALLOCATED;
- }
-
- /* Create the socket */
- if ((ptr->hosts[server_key].fd= socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- {
- ptr->cached_errno= errno;
- return MEMCACHED_CONNECTION_SOCKET_CREATE_FAILURE;
- }
- }
-
- return MEMCACHED_SUCCESS;
-}