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 : > > 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