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@mm:~$ date Di Jun 7 12:19:31 CETDST 2005 wr@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