Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: VDR developer version 1.3.18 with NTPL



Hi,

I must have missed something, but the implementation of:
cCondWait::SleepMs(int TimeoutMs)
{
  cCondWait w;
  w.Wait(TimeoutMS);
}

Will if I understand this right, create a new cCondWait instance and than
wait for TimeoutMs milliseconds before returning, but no other threads know
about this new cCondWait object and can therefore not signal it to break
before the timeout has elapsed.

If I understood the NTPL problem right, pthread_cond_timedwait will spin
lock for up to two milliseconds (one this specific case), so it will not
work as expected.
What would happened if cCondWait::SleepMs was implemented using select or
poll with an timeout of 1ms instead?

I have not yet tried running using NTPL, so I am curious how stable it is?

Are there other patches needed to get a stable system?

Regards
  Mattias

> -----Original Message-----
> From: vdr-bounce@linuxtv.org [mailto:vdr-bounce@linuxtv.org] On Behalf Of
> Alfred Zastrow
> Sent: den 9 januari 2005 19:25
> To: vdr@linuxtv.org
> Subject: [vdr] VDR developer version 1.3.18 with NTPL
> 
> 
> This change reintroduces the jumping problem between cuting marks when
> using NTPL.
> 
> 
> ------ schnipp --------
> 
> - Re-introduced a sleep to cDvbPlayer::Action() to avoid high CPU load
> in still
>    picture mode (thanks to Reinhard Nissl for reporting this one).
> 
> ------ schnapp --------
> 
> 
> Who can afford the cpu load (about 0.50 during displaying a still
> picture and running one recording in the background on a duron 1300) and
> who want to use NTPL should comment out the else part in dvbplayer.c
> 
> 
> 
>                      }
>                   }
> //              else
> //                 cCondWait::SleepMs(1); // this keeps the CPU load low
>                }
> 
> 
> best regards
> Alfred







Home | Main Index | Thread Index