[RFE] Soft-cancel cThread

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

 



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

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux