Fixed an invalid lock sequence when trying to remove a deleted recording in case of low disk space; now making sure that AssertFreeDiskSpace() is called with the maximum timer priority in case there are several timers recording with different priorities

This commit is contained in:
Klaus Schmidinger
2017-10-31 09:47:14 +01:00
parent 7bbbfb0dee
commit 19275aa8bb
5 changed files with 23 additions and 6 deletions

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: timers.c 4.11 2017/06/25 10:02:09 kls Exp $
* $Id: timers.c 4.12 2017/10/31 09:41:31 kls Exp $
*/
#include "timers.h"
@@ -804,6 +804,16 @@ const cTimer *cTimers::GetMatch(const cEvent *Event, eTimerMatch *Match) const
return t;
}
int cTimers::GetMaxPriority(void) const
{
int n = 0;
for (const cTimer *ti = First(); ti; ti = Next(ti)) {
if (!ti->Remote() && ti->Recording())
n = max(n, ti->Priority());
}
return n;
}
const cTimer *cTimers::GetNextActiveTimer(void) const
{
const cTimer *t0 = NULL;