Reverted back to previous version of RemoveDeletedRecordings(), because the thread was started every minute

This commit is contained in:
Klaus Schmidinger 2009-04-13 12:29:10 +02:00
parent 27c061e449
commit 7f314c07b6
3 changed files with 10 additions and 7 deletions

View File

@ -1069,8 +1069,6 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
for setting the thread name, so that it can be seen in 'top -H'
for replacing the Finnish language code "smi" with "suo"
for adding cap_sys_nice to the capabilities that are not dropped
for making VDR no longer check for deleted recordings to be removed from the
foreground thread, to avoid blocking the main loop for too long
Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark

View File

@ -6033,7 +6033,5 @@ Video Disk Recorder Revision History
2009-04-13: Version 1.7.6
- No longer checking for deleted recordings to be removed from the foreground
thread, to avoid blocking the main loop for too long (thanks to Rolf Ahrenberg).
- cDevice::PlayTs() now syncs on the TS packet sync bytes.
- Made MAXFRAMESIZE a multiple of TS_SIZE to avoid breaking up TS packets.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recording.c 2.10 2009/04/12 14:04:22 kls Exp $
* $Id: recording.c 2.11 2009/04/13 12:28:36 kls Exp $
*/
#include "recording.h"
@ -114,8 +114,15 @@ void RemoveDeletedRecordings(void)
{
static time_t LastRemoveCheck = 0;
if (time(NULL) - LastRemoveCheck > REMOVECHECKDELTA) {
if (!RemoveDeletedRecordingsThread.Active())
RemoveDeletedRecordingsThread.Start();
if (!RemoveDeletedRecordingsThread.Active()) {
cThreadLock DeletedRecordingsLock(&DeletedRecordings);
for (cRecording *r = DeletedRecordings.First(); r; r = DeletedRecordings.Next(r)) {
if (r->deleted && time(NULL) - r->deleted > DELETEDLIFETIME) {
RemoveDeletedRecordingsThread.Start();
break;
}
}
}
LastRemoveCheck = time(NULL);
}
}