The new class cIoThrottle is used to allow I/O intense threads to temporarily suspend their activities in case buffers run full

This commit is contained in:
Klaus Schmidinger
2012-09-22 11:52:33 +02:00
parent e898a28258
commit 72c03260d7
9 changed files with 116 additions and 8 deletions

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recorder.c 2.15 2011/09/04 09:26:44 kls Exp $
* $Id: recorder.c 2.16 2012/09/22 11:52:33 kls Exp $
*/
#include "recorder.h"
@@ -33,6 +33,7 @@ cRecorder::cRecorder(const char *FileName, const cChannel *Channel, int Priority
ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE, true, "Recorder");
ringBuffer->SetTimeouts(0, 100);
ringBuffer->SetIoThrottle();
int Pid = Channel->Vpid();
int Type = Channel->Vtype();