From b0bbb8b693d846c2710ec84bfa79dcaa3a21729a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 16 Jan 2013 21:39:40 +0100 Subject: Client: use TimeoutMonitor to track connection timeout Don't use a global loop over the whole client list. --- src/ClientRead.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ClientRead.cxx') diff --git a/src/ClientRead.cxx b/src/ClientRead.cxx index 363363d1f..49c698bc1 100644 --- a/src/ClientRead.cxx +++ b/src/ClientRead.cxx @@ -28,13 +28,13 @@ BufferedSocket::InputResult Client::OnSocketInput(const void *data, size_t length) { - g_timer_start(last_activity); - const char *p = (const char *)data; const char *newline = (const char *)memchr(p, '\n', length); if (newline == NULL) return InputResult::MORE; + TimeoutMonitor::ScheduleSeconds(client_timeout); + char *line = g_strndup(p, newline - p); BufferedSocket::ConsumeInput(newline + 1 - p); -- cgit v1.2.3