[vdr] ERROR: LIRC remote control thread xx won't end
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Fri Nov 3 15:53:46 CET 2006
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
More information about the vdr
mailing list