[linux-dvb] problems and workaround when tuning to a channel with
DD enabled
Wolfgang Rohdewald
wolfgang at rohdewald.de
Tue Jun 7 12:25:23 CEST 2005
On Dienstag 07 Juni 2005 11:38, Johannes Stezenbach wrote:
> > this happens here repeatably (not always) if I switch to a TV
> > channel with DD and vdr starts a transfer thread for handling
> > that audio stream.
>
> Where does the DD stream go? Does vdr fork a process
> to handle it?
from vdr, device.h: class cTSBuffer : public cThread
cThread is a class around <pthread.h>
> More interesting would be the signal handlers, but I'm not sure you
> can call syslog() from a signal handler.
> You could try to run vdr with strace, e.g.:
> $ strace -e kill,alarm -f ./vdr
if I understand man 7 signal right, SIGRTMIN is used by LinuxThreads.
grepping vdr for SIGRTMIN shows nothing.
Jun 7 12:03:49 mm vdr[23968]: switching to channel 2
Jun 7 12:03:49 mm vdr[24299]: receiver on device 1 thread started (pid=24299, tid=163848)
Jun 7 12:03:49 mm vdr[24298]: transfer thread started (pid=24298, tid=147463)
Jun 7 12:03:49 mm vdr[24300]: TS buffer on device 1 thread started (pid=24300, tid=180233)
[pid 23968] 12:03:49.382519 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
Process 24298 attached
[pid 23986] 12:03:49.385618 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:49.386007 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23986] 12:03:49.386744 <... kill resumed> ) = 0
Process 24299 attached
[pid 23986] 12:03:49.387796 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:49.388159 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23986] 12:03:49.388735 <... kill resumed> ) = 0
[pid 24299] 12:03:49.390406 kill(24298, SIGRTMIN) = 0
[pid 24298] 12:03:49.391200 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
Process 24300 attached
[pid 23986] 12:03:49.393319 kill(24299, SIGRTMIN) = 0
[pid 24299] 12:03:49.395018 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:51.373856 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:51.374198 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:51.399529 <... kill resumed> ) = 0
[pid 23988] 12:03:51.819573 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:51.819896 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:51.848613 <... kill resumed> ) = 0
[pid 23988] 12:03:51.980285 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:51.980939 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:52.010278 <... kill resumed> ) = 0
[pid 23988] 12:03:52.020496 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:52.020936 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:52.054895 <... kill resumed> ) = 0
[pid 23988] 12:03:52.363084 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:52.363729 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:52.392513 <... kill resumed> ) = 0
[pid 23988] 12:03:52.523493 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:52.523838 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:52.541531 <... kill resumed> ) = 0
[pid 23988] 12:03:52.574902 kill(23968, SIGRTMIN <unfinished ...>
[pid 23968] 12:03:52.575505 --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 23988] 12:03:52.592371 <... kill resumed> ) = 0
wr at mm:~$ date
Di Jun 7 12:19:31 CETDST 2005
wr at mm:~$ ps alf
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
0 1002 23967 5081 15 0 1740 616 wait S+ pts/2 5:38 \_ strace -tt -e alarm kill -f ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Prem
0 1002 23968 23967 16 0 60936 42348 nanosl S+ pts/2 2:32 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lircd
1 1002 23986 23968 16 0 60936 42348 poll S+ pts/2 0:00 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lircd
1 1002 23987 23986 16 0 60936 42348 nanosl S+ pts/2 0:00 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 23988 23986 34 19 60936 42348 - RN+ pts/2 0:11 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 23993 23986 15 0 60936 42348 poll S+ pts/2 0:00 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 23994 23986 34 19 60936 42348 poll SN+ pts/2 0:04 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 23995 23986 15 0 60936 42348 select S+ pts/2 0:00 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 24298 23986 15 0 60936 42348 poll S+ pts/2 0:19 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 24299 23986 15 0 60936 42348 nanosl S+ pts/2 0:00 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
1 1002 24300 23986 15 0 60936 42348 poll S+ pts/2 0:23 \_ ./vdr -v /var/lib/video -c /var/lib/vdrdevel -l 3 -Premote -l /dev/lirc
--
Wolfgang
More information about the linux-dvb
mailing list