Added a SleepMs() in cRecorder::Action() to avoid a busy loop

This commit is contained in:
Klaus Schmidinger 2006-01-08 11:03:44 +01:00
parent 3a5c65e594
commit 4016a630be
3 changed files with 9 additions and 2 deletions

View File

@ -1622,3 +1622,6 @@ Petri Hintukainen <Petri.Hintukainen@hut.fi>
Marcel Schaeben <mts280@gmx.de>
for his "Easy Input" patch
Ingo Schneider <mail@ingo-schneider.de>
for adding a SleepMs() in cRecorder::Action() to avoid a busy loop

View File

@ -4131,3 +4131,5 @@ Video Disk Recorder Revision History
- Adapted c(Dvb)Device::ProvidesCa() to the dynamic CA handling.
- Added a mutex to synchronize cDevice::PlayPesPacket() and SetCurrentAudioTrack()
(thanks to Reinhard Nissl).
- Added a SleepMs() in cRecorder::Action() to avoid a busy loop (thanks to Ingo
Schneider).

View File

@ -4,13 +4,13 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: recorder.c 1.16 2005/10/31 12:35:29 kls Exp $
* $Id: recorder.c 1.17 2006/01/08 11:01:25 kls Exp $
*/
#include "recorder.h"
#include <stdarg.h>
#include <stdio.h>
#include <unistd.h>
#include "recorder.h"
#define RECORDERBUFSIZE MEGABYTE(5)
@ -171,6 +171,8 @@ void cRecorder::Action(void)
int Count = remux->Put(b, r);
if (Count)
ringBuffer->Del(Count);
else
cCondWait::SleepMs(100); // avoid busy loop when resultBuffer is full in cRemux::Put()
}
}
}