summaryrefslogtreecommitdiff
path: root/recording.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-12-24 14:41:09 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-12-24 14:41:09 +0100
commit7a2d3d993c932a12d17236f34a03f542c8943221 (patch)
treedf7233b94b8502a5fa16cd163d46c954855a6c15 /recording.h
parenta9acab6b7ef720a6b5f4a9059f3d7843fb83777b (diff)
downloadvdr-7a2d3d993c932a12d17236f34a03f542c8943221.tar.gz
vdr-7a2d3d993c932a12d17236f34a03f542c8943221.tar.bz2
Fixed a possible crash if the recordings list is updated externally while the Recordings menu is open
Diffstat (limited to 'recording.h')
-rw-r--r--recording.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/recording.h b/recording.h
index 3b00c71b..9baed31d 100644
--- a/recording.h
+++ b/recording.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.h 3.1 2013/10/10 12:08:15 kls Exp $
+ * $Id: recording.h 3.2 2013/12/24 13:32:18 kls Exp $
*/
#ifndef __RECORDING_H
@@ -41,6 +41,7 @@ enum eRecordingUsage {
};
void RemoveDeletedRecordings(void);
+void ClearVanishedRecordings(void);
void AssertFreeDiskSpace(int Priority = 0, bool Force = false);
///< The special Priority value -1 means that we shall get rid of any
///< deleted recordings faster than normal (because we're cutting).
@@ -217,11 +218,12 @@ class cRecordings : public cList<cRecording>, public cThread {
private:
static char *updateFileName;
bool deleted;
+ bool initial;
time_t lastUpdate;
int state;
const char *UpdateFileName(void);
void Refresh(bool Foreground = false);
- void ScanVideoDir(const char *DirName, bool Foreground = false, int LinkLevel = 0);
+ void ScanVideoDir(const char *DirName, bool Foreground = false, int LinkLevel = 0, int DirLevel = 0);
protected:
void Action(void);
public:
@@ -277,6 +279,8 @@ public:
///< if all recordings have been successfully added to the RecordingsHandler.
};
+/// Any access to Recordings that loops through the list of recordings
+/// needs to hold a thread lock on this object!
extern cRecordings Recordings;
extern cRecordings DeletedRecordings;