From 375aa2563ad24f127874f45b87a1e70a2fbda50d Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 22 Jul 2006 14:04:51 +0200 Subject: [PATCH] Fixed handling client side termination of SVDRP connections --- CONTRIBUTORS | 3 +++ HISTORY | 2 ++ svdrp.c | 10 +++++++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8f1c1770..09893f4b 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1946,3 +1946,6 @@ Patrick Maier Norbert Wentz for reporting a bug in handling relative volume settings in the call to cStatus::MsgSetVolume() + +Frank Schmirler + for fixing handling client side termination of SVDRP connections diff --git a/HISTORY b/HISTORY index f19f88d3..e6f100ca 100644 --- a/HISTORY +++ b/HISTORY @@ -4824,3 +4824,5 @@ Video Disk Recorder Revision History (reported by Norbert Wentz). - Added a missing initialization of 'mutex' in cCiMenu::cCiMenu() and removed some superfluous semicolons in ci.c (thanks to Marco Schlüßler). +- Fixed handling client side termination of SVDRP connections (thanks to Frank + Schmirler). diff --git a/svdrp.c b/svdrp.c index 34f283f6..6972681e 100644 --- a/svdrp.c +++ b/svdrp.c @@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.97 2006/06/11 09:04:36 kls Exp $ + * $Id: svdrp.c 1.98 2006/07/22 13:59:43 kls Exp $ */ #include "svdrp.h" @@ -1594,8 +1594,12 @@ bool cSVDRP::Process(void) isyslog("lost connection to SVDRP client"); Close(); } - else - break; + else { + isyslog("SVDRP client closed connection"); + //TODO give cSVDRP::Close() an extra parameter to avoid this code duplication + file.Close(); + DELETENULL(PUTEhandler); + } } if (Setup.SVDRPTimeout && time(NULL) - lastActivity > Setup.SVDRPTimeout) { isyslog("timeout on SVDRP connection");