mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Fixed cleaning up old EPG events in case no epg data file is given
This commit is contained in:
		@@ -2957,6 +2957,7 @@ Johan Andersson <jna@jna.pp.se>
 | 
			
		||||
Dave Pickles <dave@pickles.me.uk>
 | 
			
		||||
 for adding support for "content identifier descriptor" and "default authority
 | 
			
		||||
 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>
 | 
			
		||||
 for making the isnumber() function check the given pointer for NULL
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								HISTORY
									
									
									
									
									
								
							@@ -7813,7 +7813,7 @@ Video Disk Recorder Revision History
 | 
			
		||||
- Fixed a crash in the LCARS skin's main menu in case there is no current channel
 | 
			
		||||
  (reported by Dominique Dumont).
 | 
			
		||||
 | 
			
		||||
2013-08-23: Version 2.0.3
 | 
			
		||||
2013-09-01: Version 2.0.3
 | 
			
		||||
 | 
			
		||||
- Fixed asserting free disk space in the cutter.
 | 
			
		||||
- No longer trying to delete old recordings in AssertFreeDiskSpace() if the given
 | 
			
		||||
@@ -7829,3 +7829,5 @@ Video Disk Recorder Revision History
 | 
			
		||||
- All bonded devices (except for the master) now turn off their LNB power completely
 | 
			
		||||
  to avoid problems when receiving vertically polarized transponders (suggested by
 | 
			
		||||
  Manfred V<>lkel and Oliver Endriss).
 | 
			
		||||
- Fixed cleaning up old EPG events in case no epg data file is given (reported by
 | 
			
		||||
  Dave Pickles).
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								epg.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								epg.c
									
									
									
									
									
								
							@@ -7,7 +7,7 @@
 | 
			
		||||
 * Original version (as used in VDR before 1.3.0) written by
 | 
			
		||||
 * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
 | 
			
		||||
 *
 | 
			
		||||
 * $Id: epg.c 2.23 2013/02/17 14:12:07 kls Exp $
 | 
			
		||||
 * $Id: epg.c 2.23.1.1 2013/09/01 09:16:53 kls Exp $
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "epg.h"
 | 
			
		||||
@@ -1140,16 +1140,19 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
 | 
			
		||||
class cEpgDataWriter : public cThread {
 | 
			
		||||
private:
 | 
			
		||||
  cMutex mutex;
 | 
			
		||||
  bool dump;
 | 
			
		||||
protected:
 | 
			
		||||
  virtual void Action(void);
 | 
			
		||||
public:
 | 
			
		||||
  cEpgDataWriter(void);
 | 
			
		||||
  void SetDump(bool Dump) { dump = Dump; }
 | 
			
		||||
  void Perform(void);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
cEpgDataWriter::cEpgDataWriter(void)
 | 
			
		||||
:cThread("epg data writer", true)
 | 
			
		||||
{
 | 
			
		||||
  dump = false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cEpgDataWriter::Action(void)
 | 
			
		||||
@@ -1169,7 +1172,8 @@ void cEpgDataWriter::Perform(void)
 | 
			
		||||
           p->Cleanup(now);
 | 
			
		||||
       }
 | 
			
		||||
  }
 | 
			
		||||
  cSchedules::Dump();
 | 
			
		||||
  if (dump)
 | 
			
		||||
     cSchedules::Dump();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static cEpgDataWriter EpgDataWriter;
 | 
			
		||||
@@ -1203,6 +1207,7 @@ void cSchedules::SetEpgDataFileName(const char *FileName)
 | 
			
		||||
{
 | 
			
		||||
  free(epgDataFileName);
 | 
			
		||||
  epgDataFileName = FileName ? strdup(FileName) : NULL;
 | 
			
		||||
  EpgDataWriter.SetDump(epgDataFileName != NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cSchedules::SetModified(cSchedule *Schedule)
 | 
			
		||||
@@ -1217,12 +1222,10 @@ void cSchedules::Cleanup(bool Force)
 | 
			
		||||
     lastDump = 0;
 | 
			
		||||
  time_t now = time(NULL);
 | 
			
		||||
  if (now - lastDump > EPGDATAWRITEDELTA) {
 | 
			
		||||
     if (epgDataFileName) {
 | 
			
		||||
        if (Force)
 | 
			
		||||
           EpgDataWriter.Perform();
 | 
			
		||||
        else if (!EpgDataWriter.Active())
 | 
			
		||||
           EpgDataWriter.Start();
 | 
			
		||||
        }
 | 
			
		||||
     if (Force)
 | 
			
		||||
        EpgDataWriter.Perform();
 | 
			
		||||
     else if (!EpgDataWriter.Active())
 | 
			
		||||
        EpgDataWriter.Start();
 | 
			
		||||
     lastDump = now;
 | 
			
		||||
     }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user