[vdr] Centralized 'thread active' handling

Gunnar Roth gunnar.roth at gmx.de
Sat Aug 13 17:10:36 CEST 2005


Klaus Schmidinger wrote:

> Stefan Huelswitt wrote:
>
>> On 13 Aug 2005 Klaus Schmidinger <Klaus.Schmidinger at cadsoft.de> wrote:
>>
>> Hi,
>>
>>
>>> Fixed a race condition in cTransfer (thanks to Klaus ??? for 
>>> reporting this one).
>>> In doing so, the 'active' variables used by the actual derived 
>>> cThread classes
>>> have been replaced by the cThread::Active() function. The previous 
>>> functionality
>>> of cThread::Active() has been moved into the new cThread::Running().
>>> Plugin authors should check their derived cThread classes and 
>>> replace any 'active'
>>> variables the same way as, for instance, done in transfer.c.
>>
>>
>>
>> Wouldn't it be better to leave Active() untouched (instead of
>> renaming to Running()) and create a new (differently named)
>> function for the active var replacement? (e.g. Continue(), which
>> would give good readability with while(Continue()))
>
>
> Well, Active() reflects the internal 'active' variable, so
> Continue() would have to correspond to 'continue', which is
> a reserved keyword...
>
What has the name of a method to do with te name of a internal variable?

>> This would limit the impact this change has to plugins.
>>
>> Otherwise a plugins using Active() now, could compile fine with
>> the next VDR version, but certainly wouldn't work correctly.
>
>
> Is there any plugin that actually uses cThread::Active()?

/In the vbox plugin i use some code from mp3 plugin and there i have a 
Active() call which simply returns active member of cTrhead.

IMO what stfean huelswitt says , is right.

regards,
gunnar


/




More information about the vdr mailing list