[linux-dvb] problems and workaround when tuning to a channel with DD enabled

Dr. Werner Fink werner at suse.de
Tue Jun 7 13:38:54 CEST 2005


On Tue, Jun 07, 2005 at 01:23:54PM +0200, Johannes Stezenbach wrote:
> On Tue, Jun 07, 2005 at 12:36:48PM +0200, Dr. Werner Fink wrote:
> > On Tue, Jun 07, 2005 at 11:24:36AM +0200, Johannes Stezenbach wrote:
> > > 
> > > vdr sets a watchdog with alarm(). Signals could also come
> > > from the kernel (SIGIO, SIGCHLD etc.). (I thought vdr uses
> > > signals internally, but this doesn't seem to be true anymore).
> > 
> > Don't forget the realtime thread handling which uses
> > signals in some implementations.
> 
> I think linux_threads doesn't interrupt blocking syscalls
> with signals unless you use pthread_cancel().

Yep:

  vdr/Devel> grep pthread_cancel vdr-1.3.25/ -r
  vdr-1.3.25/thread.c:     pthread_cancel(childTid);

beside this the Makefile uses -D_GNU_SOURCE which force
the automatic restart after the syscall was signaled
during its operation.

> 
> NPTL doesn't use signals to wake up sleeping threads at all.

The original VDR 1.2.6 uses SIGIO for waking up threads.


        Werner

-- 
AC3 loop through sound card http://bitstreamout.sourceforge.net/
Howto http://www.vdr-portal.de/board/thread.php?threadid=1958
------------------------------------------------------------------
 "Having a smoking section in a restaurant is like having
         a  peeing section in a swimming pool." -- Edward Burr




More information about the linux-dvb mailing list