From 392de5d7f97353485df1237872cb682842e8d83f Mon Sep 17 00:00:00 2001 From: OmriSteiner <51128928+OmriSteiner@users.noreply.github.com> Date: Mon, 22 Jun 2020 23:20:30 +0300 Subject: fix #785: defer TCP_NODELAY in async tcp connections (#836) Co-authored-by: Omri Steiner --- net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'net.c') diff --git a/net.c b/net.c index aa5b183..882e2c4 100644 --- a/net.c +++ b/net.c @@ -203,7 +203,7 @@ int redisKeepAlive(redisContext *c, int interval) { return REDIS_OK; } -static int redisSetTcpNoDelay(redisContext *c) { +int redisSetTcpNoDelay(redisContext *c) { int yes = 1; if (setsockopt(c->fd, IPPROTO_TCP, TCP_NODELAY, &yes, sizeof(yes)) == -1) { __redisSetErrorFromErrno(c,REDIS_ERR_IO,"setsockopt(TCP_NODELAY)"); @@ -487,12 +487,12 @@ addrretry: wait_for_ready: if (redisContextWaitReady(c,timeout_msec) != REDIS_OK) goto error; + if (redisSetTcpNoDelay(c) != REDIS_OK) + goto error; } } if (blocking && redisSetBlocking(c,1) != REDIS_OK) goto error; - if (redisSetTcpNoDelay(c) != REDIS_OK) - goto error; c->flags |= REDIS_CONNECTED; rv = REDIS_OK; -- cgit v1.2.3