From c5dfaf9681b25de03fe18909bd08f52797c2cf41 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 29 Sep 2012 11:49:11 +0200 Subject: Moved cleaning up the EPG data and writing the epg.data file into a separate thread (cont'd) --- epg.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'epg.c') diff --git a/epg.c b/epg.c index ac5792a3..d96c0fda 100644 --- a/epg.c +++ b/epg.c @@ -7,7 +7,7 @@ * Original version (as used in VDR before 1.3.0) written by * Robert Schneider and Rolf Hakenes . * - * $Id: epg.c 2.19 2012/09/24 13:24:02 kls Exp $ + * $Id: epg.c 2.20 2012/09/29 11:49:11 kls Exp $ */ #include "epg.h" @@ -1123,6 +1123,8 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules) // --- cEpgDataWriter --------------------------------------------------------- class cEpgDataWriter : public cThread { +private: + cMutex mutex; protected: virtual void Action(void); public: @@ -1144,6 +1146,7 @@ void cEpgDataWriter::Action(void) void cEpgDataWriter::Perform(void) { + cMutexLock MutexLock(&mutex); // to make sure fore- and background calls don't cause parellel dumps! { cSchedulesLock SchedulesLock(true, 1000); cSchedules *s = (cSchedules *)cSchedules::Schedules(SchedulesLock); -- cgit v1.2.3