From 8d9dec8d649ac4ce8bef39f3f75f67adb58c33d5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sun, 13 Sep 2015 17:10:33 +0200 Subject: Update connection timeout properly --- server.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'server.c') diff --git a/server.c b/server.c index 3dd69b5..a3e0893 100644 --- a/server.c +++ b/server.c @@ -400,7 +400,6 @@ BOOL server_send(epoll_server_t *server, const char *buffer, size_t len, const B server->kill = TRUE; return FALSE; } - server->lastActive = time(NULL); if (ret == (int)len) return TRUE; // Couldn't send everything, continue with buffering logic below if (ret > 0) { @@ -416,7 +415,10 @@ BOOL server_send(epoll_server_t *server, const char *buffer, size_t len, const B // Finally append to buffer memcpy(server->sendBuffer + server->sbFill, buffer, len); server->sbFill += len; - if (!cork) return server_haveOut(server); + if (!cork) { + server->lastActive = time(NULL); + return server_haveOut(server); + } return TRUE; } @@ -453,7 +455,6 @@ static BOOL server_haveOut(epoll_server_t * const server) return FALSE; // Closed } } - server->lastActive = time(NULL); server->sbPos += ret; if (server->ssl != NULL) { memmove(server->sendBuffer, server->sendBuffer + server->sbPos, server->sbFill - server->sbPos); @@ -512,6 +513,7 @@ static BOOL server_ensureConnected(server_t *server) printf("[Server] Sending bindrequest for shared connection failed for server %s\n", server->addr); return FALSE; } + con->lastActive = time(NULL); return TRUE; } -- cgit v1.2.3-55-g7522