mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed cleaning up old EPG events in case no epg data file is given
This commit is contained in:
parent
bd6da13a67
commit
b931724b75
@ -2965,6 +2965,7 @@ Johan Andersson <jna@jna.pp.se>
|
|||||||
Dave Pickles <dave@pickles.me.uk>
|
Dave Pickles <dave@pickles.me.uk>
|
||||||
for adding support for "content identifier descriptor" and "default authority
|
for adding support for "content identifier descriptor" and "default authority
|
||||||
descriptor" to 'libsi'
|
descriptor" to 'libsi'
|
||||||
|
for reporting that old EPG events are not cleaned up in case no epg data file is given
|
||||||
|
|
||||||
Holger Dengler <holger.dengler@gmx.de>
|
Holger Dengler <holger.dengler@gmx.de>
|
||||||
for making the isnumber() function check the given pointer for NULL
|
for making the isnumber() function check the given pointer for NULL
|
||||||
|
2
HISTORY
2
HISTORY
@ -7917,3 +7917,5 @@ Video Disk Recorder Revision History
|
|||||||
character was always skipped).
|
character was always skipped).
|
||||||
- Fixed wrong initialization of Setup.PositionerSwing (reported by Arthur Konovalov).
|
- Fixed wrong initialization of Setup.PositionerSwing (reported by Arthur Konovalov).
|
||||||
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
|
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
|
||||||
|
- Fixed cleaning up old EPG events in case no epg data file is given (reported by
|
||||||
|
Dave Pickles).
|
||||||
|
9
epg.c
9
epg.c
@ -7,7 +7,7 @@
|
|||||||
* Original version (as used in VDR before 1.3.0) written by
|
* Original version (as used in VDR before 1.3.0) written by
|
||||||
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
|
||||||
*
|
*
|
||||||
* $Id: epg.c 3.1 2013/08/23 10:46:33 kls Exp $
|
* $Id: epg.c 3.2 2013/08/31 13:21:09 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "epg.h"
|
#include "epg.h"
|
||||||
@ -1140,16 +1140,19 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
|
|||||||
class cEpgDataWriter : public cThread {
|
class cEpgDataWriter : public cThread {
|
||||||
private:
|
private:
|
||||||
cMutex mutex;
|
cMutex mutex;
|
||||||
|
bool dump;
|
||||||
protected:
|
protected:
|
||||||
virtual void Action(void);
|
virtual void Action(void);
|
||||||
public:
|
public:
|
||||||
cEpgDataWriter(void);
|
cEpgDataWriter(void);
|
||||||
|
void SetDump(bool Dump) { dump = Dump; }
|
||||||
void Perform(void);
|
void Perform(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
cEpgDataWriter::cEpgDataWriter(void)
|
cEpgDataWriter::cEpgDataWriter(void)
|
||||||
:cThread("epg data writer", true)
|
:cThread("epg data writer", true)
|
||||||
{
|
{
|
||||||
|
dump = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cEpgDataWriter::Action(void)
|
void cEpgDataWriter::Action(void)
|
||||||
@ -1169,6 +1172,7 @@ void cEpgDataWriter::Perform(void)
|
|||||||
p->Cleanup(now);
|
p->Cleanup(now);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (dump)
|
||||||
cSchedules::Dump();
|
cSchedules::Dump();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1203,6 +1207,7 @@ void cSchedules::SetEpgDataFileName(const char *FileName)
|
|||||||
{
|
{
|
||||||
free(epgDataFileName);
|
free(epgDataFileName);
|
||||||
epgDataFileName = FileName ? strdup(FileName) : NULL;
|
epgDataFileName = FileName ? strdup(FileName) : NULL;
|
||||||
|
EpgDataWriter.SetDump(epgDataFileName != NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cSchedules::SetModified(cSchedule *Schedule)
|
void cSchedules::SetModified(cSchedule *Schedule)
|
||||||
@ -1217,12 +1222,10 @@ void cSchedules::Cleanup(bool Force)
|
|||||||
lastDump = 0;
|
lastDump = 0;
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
if (now - lastDump > EPGDATAWRITEDELTA) {
|
if (now - lastDump > EPGDATAWRITEDELTA) {
|
||||||
if (epgDataFileName) {
|
|
||||||
if (Force)
|
if (Force)
|
||||||
EpgDataWriter.Perform();
|
EpgDataWriter.Perform();
|
||||||
else if (!EpgDataWriter.Active())
|
else if (!EpgDataWriter.Active())
|
||||||
EpgDataWriter.Start();
|
EpgDataWriter.Start();
|
||||||
}
|
|
||||||
lastDump = now;
|
lastDump = now;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user