mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a possible crash in case the SVDRP connection to a peer VDR is terminated while getting remote timers
This commit is contained in:
parent
f97a59597f
commit
bae02358a3
4
HISTORY
4
HISTORY
@ -9056,7 +9056,7 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed detecting the inclusion of STL header files in tools.h (thanks to Jasmin
|
- Fixed detecting the inclusion of STL header files in tools.h (thanks to Jasmin
|
||||||
Jessich).
|
Jessich).
|
||||||
|
|
||||||
2017-05-30: Version 2.3.6
|
2017-05-31: Version 2.3.6
|
||||||
|
|
||||||
- Added debug output for checking the correct sequence of locking global lists
|
- Added debug output for checking the correct sequence of locking global lists
|
||||||
(with help and suggestions from Jasmin Jessich). To activate this, define the
|
(with help and suggestions from Jasmin Jessich). To activate this, define the
|
||||||
@ -9087,3 +9087,5 @@ Video Disk Recorder Revision History
|
|||||||
- Now using a separate mutex to fix the race between SVDRP CHAN and
|
- Now using a separate mutex to fix the race between SVDRP CHAN and
|
||||||
cDevice::HasProgramme(), because the previous fix caused a deadlock (reported by
|
cDevice::HasProgramme(), because the previous fix caused a deadlock (reported by
|
||||||
Derek Kelly).
|
Derek Kelly).
|
||||||
|
- Fixed a possible crash in case the SVDRP connection to a peer VDR is terminated
|
||||||
|
while getting remote timers.
|
||||||
|
6
svdrp.c
6
svdrp.c
@ -10,7 +10,7 @@
|
|||||||
* and interact with the Video Disk Recorder - or write a full featured
|
* and interact with the Video Disk Recorder - or write a full featured
|
||||||
* graphical interface that sits on top of an SVDRP connection.
|
* graphical interface that sits on top of an SVDRP connection.
|
||||||
*
|
*
|
||||||
* $Id: svdrp.c 4.19 2017/05/28 13:05:23 kls Exp $
|
* $Id: svdrp.c 4.20 2017/05/31 14:02:17 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "svdrp.h"
|
#include "svdrp.h"
|
||||||
@ -385,7 +385,8 @@ void cSVDRPClient::Close(void)
|
|||||||
file.Close();
|
file.Close();
|
||||||
socket.Close();
|
socket.Close();
|
||||||
LOCK_TIMERS_WRITE;
|
LOCK_TIMERS_WRITE;
|
||||||
Timers->DelRemoteTimers(serverName);
|
if (Timers)
|
||||||
|
Timers->DelRemoteTimers(serverName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,6 +464,7 @@ bool cSVDRPClient::Process(cStringList *Response)
|
|||||||
else if (r <= 0) {
|
else if (r <= 0) {
|
||||||
isyslog("SVDRP < %s lost connection to remote server '%s'", ipAddress.Connection(), *serverName);
|
isyslog("SVDRP < %s lost connection to remote server '%s'", ipAddress.Connection(), *serverName);
|
||||||
Close();
|
Close();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!Response)
|
else if (!Response)
|
||||||
|
Loading…
Reference in New Issue
Block a user