mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a possible race condition with the SVDRP commands CLRE and PUTE
This commit is contained in:
parent
f35e4acf88
commit
4bdc69eb92
5
HISTORY
5
HISTORY
@ -6960,7 +6960,7 @@ Video Disk Recorder Revision History
|
|||||||
which was made in version 1.1.10, so please report if this has any unwanted
|
which was made in version 1.1.10, so please report if this has any unwanted
|
||||||
side effects.
|
side effects.
|
||||||
|
|
||||||
2012-03-03: Version 1.7.26
|
2012-03-04: Version 1.7.26
|
||||||
|
|
||||||
- Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich).
|
- Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich).
|
||||||
- Fixed the German translation of "VDR will shut down in %s minutes" (thanks to
|
- Fixed the German translation of "VDR will shut down in %s minutes" (thanks to
|
||||||
@ -6968,3 +6968,6 @@ Video Disk Recorder Revision History
|
|||||||
- The replay progress display is now turned on whenever a mark is toggled (not
|
- The replay progress display is now turned on whenever a mark is toggled (not
|
||||||
only when one is set).
|
only when one is set).
|
||||||
- Toggling a mark now restarts the timeout of the replay progress display.
|
- Toggling a mark now restarts the timeout of the replay progress display.
|
||||||
|
- Fixed a possible race condition with the SVDRP commands CLRE and PUTE, where
|
||||||
|
EPG data from the transponder could be handled even though it shouldn't be
|
||||||
|
handled for 10 seconds.
|
||||||
|
9
svdrp.c
9
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 2.15 2012/02/16 12:38:19 kls Exp $
|
* $Id: svdrp.c 2.16 2012/03/04 12:05:56 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "svdrp.h"
|
#include "svdrp.h"
|
||||||
@ -601,9 +601,13 @@ void cSVDRP::CmdCLRE(const char *Option)
|
|||||||
Reply(501, "Undefined channel \"%s\"", Option);
|
Reply(501, "Undefined channel \"%s\"", Option);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cSchedules::ClearAll();
|
|
||||||
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME);
|
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME);
|
||||||
|
if (cSchedules::ClearAll()) {
|
||||||
Reply(250, "EPG data cleared");
|
Reply(250, "EPG data cleared");
|
||||||
|
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Reply(451, "Error while clearing EPG data");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1600,6 +1604,7 @@ void cSVDRP::Execute(char *Cmd)
|
|||||||
Reply(PUTEhandler->Status(), "%s", PUTEhandler->Message());
|
Reply(PUTEhandler->Status(), "%s", PUTEhandler->Message());
|
||||||
DELETENULL(PUTEhandler);
|
DELETENULL(PUTEhandler);
|
||||||
}
|
}
|
||||||
|
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME); // re-trigger the timeout, in case there is very much EPG data
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// skip leading whitespace:
|
// skip leading whitespace:
|
||||||
|
Loading…
Reference in New Issue
Block a user