summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--recording.c10
2 files changed, 7 insertions, 4 deletions
diff --git a/HISTORY b/HISTORY
index ee6cf6ce..d2d6d712 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7546,3 +7546,4 @@ Video Disk Recorder Revision History
- Fixed a leftover line in case a two line subtitle was followed by a one line
subtitle on the dvbhddevice in "high level" OSD mode.
- Returning 0 from cDvbSdFfDevice::NumProvidedSystems() if option --outputonly is given.
+- The index file is now closed after initially reading it if it is older than 3600 seconds.
diff --git a/recording.c b/recording.c
index 9cd05223..c2803255 100644
--- a/recording.c
+++ b/recording.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 2.83 2013/01/16 14:17:44 kls Exp $
+ * $Id: recording.c 2.84 2013/01/25 14:31:04 kls Exp $
*/
#include "recording.h"
@@ -1743,12 +1743,14 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording, b
esyslog("ERROR: can't read from file '%s'", *fileName);
free(index);
index = NULL;
- close(f);
- f = -1;
}
- // we don't close f here, see CatchUp()!
else if (isPesRecording)
ConvertFromPes(index, size);
+ if (!index || time(NULL) - buf.st_mtime >= MININDEXAGE) {
+ close(f);
+ f = -1;
+ }
+ // otherwise we don't close f here, see CatchUp()!
}
else
LOG_ERROR_STR(*fileName);