summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-10-13 09:34:47 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-10-13 09:34:47 +0200
commit44cb1a79a5ef620f317102cdae4c4c8780f250af (patch)
tree8c1edf229258faf1d47dd8a9ea59710ee00e47f9
parenta19ea98ccebd17231be9c480fd187bdee1bf9fd1 (diff)
downloadvdr-44cb1a79a5ef620f317102cdae4c4c8780f250af.tar.gz
vdr-44cb1a79a5ef620f317102cdae4c4c8780f250af.tar.bz2
The SVDRP command PUTE now triggers an immediate write of the 'epg.data' file
-rw-r--r--CONTRIBUTORS4
-rw-r--r--HISTORY2
-rw-r--r--eit.c10
-rw-r--r--eit.h4
-rw-r--r--svdrp.c3
5 files changed, 19 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d31bb8a0..4d3ddeed 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -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
diff --git a/HISTORY b/HISTORY
index 8182d284..b336f204 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/eit.c b/eit.c
index 17a4c984..40ae8741 100644
--- a/eit.c
+++ b/eit.c
@@ -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;
+}
diff --git a/eit.h b/eit.h
index 33a49a0e..6ebd48f3 100644
--- a/eit.h
+++ b/eit.h
@@ -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
diff --git a/svdrp.c b/svdrp.c
index 81906b48..41171493 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.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";
}