[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