The SVDRP command PUTE now triggers an immediate write of the 'epg.data' file

This commit is contained in:
Klaus Schmidinger 2002-10-13 09:34:47 +02:00
parent a19ea98cce
commit 44cb1a79a5
5 changed files with 19 additions and 4 deletions

View File

@ -428,3 +428,7 @@ Andy Carter <fruit@ukgateway.net>
Robert Schiele <rschiele@uni-mannheim.de>
for his help in keeping 'channels.conf.cable' up to date
Gerhard Steiner <steiner@mail.austria.com>
for suggesting that the SVDRP command PUTE shall trigger an immediate write of
the 'epg.data' file

View File

@ -1605,3 +1605,5 @@ Video Disk Recorder Revision History
- Changed a few leftover 'new char[...]' to MALLOC(char, ...).
- If a command executed from the "Commands" menu doesn't return any output, the
OSD will now be closed automatically.
- The SVDRP command PUTE now triggers an immediate write of the 'epg.data' file
(suggested by Gerhard Steiner).

10
eit.c
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: eit.c 1.56 2002/10/11 13:14:57 kls Exp $
* $Id: eit.c 1.57 2002/10/13 09:29:05 kls Exp $
***************************************************************************/
#include "eit.h"
@ -983,6 +983,7 @@ int cSIProcessor::numSIProcessors = 0;
cSchedules *cSIProcessor::schedules = NULL;
cMutex cSIProcessor::schedulesMutex;
const char *cSIProcessor::epgDataFileName = EPGDATAFILENAME;
time_t cSIProcessor::lastDump = time(NULL);
/** */
cSIProcessor::cSIProcessor(const char *FileName)
@ -1083,7 +1084,6 @@ void cSIProcessor::Action()
dsyslog("EIT processing thread started (pid=%d)%s", getpid(), masterSIProcessor ? " - master" : "");
time_t lastCleanup = time(NULL);
time_t lastDump = time(NULL);
active = true;
@ -1267,3 +1267,9 @@ bool cSIProcessor::SetCurrentServiceID(unsigned short servid)
cMutexLock MutexLock(&schedulesMutex);
return schedules ? schedules->SetCurrentServiceID(servid) : false;
}
void cSIProcessor::TriggerDump(void)
{
cMutexLock MutexLock(&schedulesMutex);
lastDump = 0;
}

4
eit.h
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: eit.h 1.18 2002/08/25 10:38:34 kls Exp $
* $Id: eit.h 1.19 2002/10/13 09:28:06 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@ -138,6 +138,7 @@ private:
static cSchedules *schedules;
static cMutex schedulesMutex;
static const char *epgDataFileName;
static time_t lastDump;
bool masterSIProcessor;
int currentTransponder;
SIP_FILTER *filters;
@ -160,6 +161,7 @@ public:
void SetStatus(bool On);
void SetCurrentTransponder(int CurrentTransponder);
static bool SetCurrentServiceID(unsigned short servid);
static void TriggerDump(void);
};
#endif

View File

@ -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.44 2002/10/05 13:45:05 kls Exp $
* $Id: svdrp.c 1.45 2002/10/13 09:31:31 kls Exp $
*/
#include "svdrp.h"
@ -153,6 +153,7 @@ bool cPUTEhandler::Process(const char *s)
else {
rewind(f);
if (cSchedules::Read(f)) {
cSIProcessor::TriggerDump();
status = 250;
message = "EPG data processed";
}