From 96ce6bac692345f9ddbcc34b879496f7b5f6b839 Mon Sep 17 00:00:00 2001
From: Sergey Lyubka <valenok@gmail.com>
Date: Wed, 11 Jun 2014 09:44:18 +0100
Subject: [PATCH] ns_server_poll(): setting current_time to now after select()

---
 mongoose.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mongoose.c b/mongoose.c
index 35c612fdf..b06586db2 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -862,6 +862,10 @@ int ns_server_poll(struct ns_server *server, int milli) {
   tv.tv_usec = (milli % 1000) * 1000;
 
   if (select((int) max_fd + 1, &read_set, &write_set, NULL, &tv) > 0) {
+    // select() might have been waiting for a long time, reset current_time
+    // now to prevent last_io_time being set to the past.
+    current_time = time(NULL);
+    
     // Accept new connections
     if (server->listening_sock != INVALID_SOCKET &&
         FD_ISSET(server->listening_sock, &read_set)) {
-- 
GitLab