[vdr] [RFE] Soft-cancel cThread
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Sun Sep 24 12:08:53 CEST 2006
Udo Richter wrote:
> Hi,
>
> I have a suggestion for a VDR change: I could use a way to end a cThread
> externally without having to wait and without hard canceling it.
>
> My thread runs with the usual while (Running()) loop. To signal the loop
> to stop, it would be enough to set running=false. However, running is a
> private member of cThread. The only way to set running=false is to call
> Cancel(). This involves killing the thread and waiting for the thread to
> terminate. Two things I actually don't want.
>
> There are two ways this could be done. First, by adding a function
> SoftCancel() { running=false; }. Or second, by modifying Cancel() to
> just set running=false if called with Cancel(-1) or Cancel(0,false) or
> similar.
I would prefer using -1 as a special value for this, because this
wouldn't require an interface change.
Does the attached patch do what you want?
Klaus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vdr-1.4.3-threadcancel.diff
Type: text/x-patch
Size: 1014 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20060924/fbf3628f/vdr-1.4.3-threadcancel.bin
More information about the vdr
mailing list