From fb75841154c0eb20d525b0363781520df0560fac Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Tue, 11 Oct 2016 09:11:06 +0200 Subject: Simplify mpd_client_on_timeout() No real need to ping the daemon. --- mpd.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mpd.c b/mpd.c index 02b1d8f..d48bcdb 100644 --- a/mpd.c +++ b/mpd.c @@ -509,15 +509,12 @@ static void mpd_client_on_timeout (void *user_data) { struct mpd_client *self = user_data; - unsigned subsystems = self->idling_subsystems; - // Just sending this out should bring a dead connection down over TCP - // TODO: set another timer to make sure the ping reply arrives - mpd_client_send_command (self, "ping", NULL); - mpd_client_add_task (self, NULL, NULL); - - // Restore the incriminating idle immediately - mpd_client_idle (self, subsystems); + // Abort and immediately restore the current idle so that MPD doesn't + // disconnect us, even though the documentation says this won't happen. + // Just sending this out should bring a dead connection down over TCP. + // TODO: set another timer to make sure we get a reply + mpd_client_idle (self, self->idling_subsystems); } /// When not expecting to send any further commands, you should call this -- cgit v1.2.3-70-g09d2