Markus Hahn wrote:
Hi there,
due to debuging purposes I set in
void cThread::Cancel(int WaitSeconds)
WaitSeconds = 6000;
between the waits of 3 seconds I syslog the message: "thread won`t end" .
At vdr shutdown I get the (endless) error message :
[vdr] ERROR: LIRC remote control thread xxx won't end
_until_ I pressed any key.
If Cancel() kills a thread, it ends up with a Segfault mostly.
Does anybody noticed this behavior to?
Maybe there must be another interrogation of Running() in lirc.c
There are two 'while' loops in cLircRemote::Action(), but both
check Running(), so I would expect them to end properly.
You could try adding something like
dsyslog("%d", __LINE__);
at a few places in cLircRemote::Action() to find out where
exactly it is hanging, as in
while (Running() && f >= 0) {
dsyslog("%d", __LINE__);
bool ready = cFile::FileReady(f, timeout);
dsyslog("%d", __LINE__);
int ret = ready ? safe_read(f, buf, sizeof(buf)) : -1;
dsyslog("%d", __LINE__);
if (ready && ret <= 0 ) {
etc.
Klaus
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr