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

Reply via email to