X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fconnect.c;h=a7b17f0ce359e9085761f5421d07f8dacc4d34dc;hb=55cf7c68679083cdd7351db3b888c6f8ddcebe09;hp=9f17f0c3f26d971c49e15d95bbe26cb0349577d9;hpb=1591feaed3f710d48f76a6fc8a3a52242ab34fd9;p=awesomized%2Flibmemcached diff --git a/libmemcached/connect.c b/libmemcached/connect.c index 9f17f0c3..a7b17f0c 100644 --- a/libmemcached/connect.c +++ b/libmemcached/connect.c @@ -165,7 +165,9 @@ static inline memcached_return_t set_socket_nonblocking(memcached_server_st *ptr int flags; do + { flags= fcntl(ptr->fd, F_GETFL, 0); + } while (flags == -1 && (errno == EINTR || errno == EAGAIN)); unlikely (flags == -1) @@ -178,7 +180,9 @@ static inline memcached_return_t set_socket_nonblocking(memcached_server_st *ptr int rval; do + { rval= fcntl(ptr->fd, F_SETFL, flags | O_NONBLOCK); + } while (rval == -1 && (errno == EINTR || errno == EAGAIN)); unlikely (rval == -1)