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.
As a workaround I'm now using while (Running() && running2) - which is
imho ugly.
Background: I have to terminate several threads at the same time, and
calling Cancel(1) sequentially would be a waste of time. I want to set
running=false on all threads first, and then cancel the remains later.
Cheers,
Udo
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr