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/ClientNew.cxx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/ClientNew.cxx') diff --git a/src/ClientNew.cxx b/src/ClientNew.cxx index 42cc3470..2a4774c5 100644 --- a/src/ClientNew.cxx +++ b/src/ClientNew.cxx @@ -49,20 +49,16 @@ static const char GREETING[] = "OK MPD " PROTOCOL_VERSION "\n"; Client::Client(EventLoop &_loop, Partition &_partition, int _fd, int _uid, int _num) :BufferedSocket(_fd, _loop, 16384, client_max_output_buffer_size), + TimeoutMonitor(_loop), partition(_partition), playlist(partition.playlist), player_control(&partition.pc), permission(getDefaultPermissions()), uid(_uid), - last_activity(g_timer_new()), num(_num), idle_waiting(false), idle_flags(0), num_subscriptions(0) { -} - -Client::~Client() -{ - g_timer_destroy(last_activity); + TimeoutMonitor::ScheduleSeconds(client_timeout); } void -- cgit v1.2.3