X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_connect.c;h=aca8ffd0a00088964d6110fa2d55663441b451e1;hb=baf931721d1b37ac06ea5126ac038cca2d413d91;hp=c2e03ac38e7a4279512f84c0c096e63545769f1c;hpb=95084fee7261488e27be38d9c50957f82a75f416;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_connect.c b/libmemcached/memcached_connect.c index c2e03ac3..aca8ffd0 100644 --- a/libmemcached/memcached_connect.c +++ b/libmemcached/memcached_connect.c @@ -159,7 +159,8 @@ test_connect: (struct sockaddr *)&servAddr, sizeof(servAddr)) < 0) { - switch (errno) { + switch (errno) + { case EINPROGRESS: case EALREADY: case EINTR: @@ -208,6 +209,13 @@ static memcached_return network_connect(memcached_server_st *ptr) /* Create the socket */ while (use != NULL) { + /* Memcache server does not support IPV6 in udp mode, so skip if not ipv4 */ + if (ptr->type == MEMCACHED_CONNECTION_UDP && use->ai_family != AF_INET) + { + use= use->ai_next; + continue; + } + if ((ptr->fd= socket(use->ai_family, use->ai_socktype, use->ai_protocol)) < 0)