Shoutcast - sc_trans_linux 'playlist váltó script' hiba

Fórumok

Béláim az Úrban!

Történt, hogy fölraktam egy shoutcast streaming szervert (sc_trans_linux)
Különböző folder-ekben lévő mp3-akat játszik, playlist alapján, véletlen sorrendben.
Csináltam egy script szerűséget, ami módosítja a playlist-et, aztán újratölti úgy, hogy az éppen aktuális számot nem bántja.
Ez _néha_ viszont beakad, holott a playlist cserélődik, az USR1 singnal-t megkapja, tehát újra is tölti.
Ha beakad, akkor folyamatosan ugyanazt a zenét játssza körbe-körbe. F@szé' csinálja ezt má'?

Az elv:
- módosítja a playlist-et
- az sc_trans_linux pid-jének küld egy USR1 signal-t, amitől az újratölti a playlist-et.

----------------------------------------------------------------------------
#!/bin/bash
/usr/bin/find $1 -type f -name "*.mp3" > /home/radio/playlist.lst
kill -s USR1 `ps aux | grep sc_trans |grep -v grep |grep -v SCREEN |awk '{print $2}'`
----------------------------------------------------------------------------

Hol szabhattam el?

Pl. így néz ki egy beakadás:

<10/08/09@23:45:01> [MAIN] SIGUSR1; Reload Playlist
<10/08/09@23:45:01> [MAIN] Reloading playlist
<10/08/09@23:45:01> [MAIN] Loading playlist (playlist.lst)
<10/08/09@23:45:01> [MAIN] Found (96) entries in playlist
<10/09/09@00:58:11> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@00:58:28> [MAIN] Title Updated
<10/09/09@02:09:07> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@02:09:23> [MAIN] Title Updated
<10/09/09@03:20:03> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@03:20:20> [MAIN] Title Updated
<10/09/09@04:30:58> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@04:31:15> [MAIN] Title Updated
<10/09/09@05:41:54> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3
<10/09/09@05:42:10> [MAIN] Title Updated
<10/09/09@06:52:50> [DECODE] Opened john digweed - los angeles_global underground 019 cd2.mp3

Mint az látható:
- USR1 singal: OK
- 96 entries: 96 filé van a playlist-ben, és nem mind ua.

Hm???

Hozzászólások

Sőt, úgy látom, hogy a WINCH, azaz 'jump to next song' signal esetén is ugyanaz a track kerül elő.
X-akta...

Lehet, hogy a signal-t olyan pillanatban kapja az sc_trans, amikor éppen nem tartalmaz semmit a playlist?
Próbálkoztam olyannal is, hogy a playlist felülírás és a signal között nyomok egy sync-et, de az sem segített.
Már kiraktam a fehér X-et az ablakba, hátha jön a morcona feka csávó és megsúgja a megoldást. :-)

Nekem Ices 0.4-el van hasonlo szivasom:
Eredetileg HUP szignallal tolti ujra a playlistet es USR1 szignallal valt a kovetkezo zenere. Ha kezzel inditom a programot akkor ez tokeletesen mukodik.
Viszont az Icecast2-ben be lehet allitani, hogy csatlakozaskor es szakadaskor futtasson le egy scriptet.
Az en esetemben ha szakadas van (tehat valami miatt elszall az Ices) akkor ujrainditja az Ices-t.
Na es innentol teljesen hatastalan a HUP es az USR szignal, hiaba killelem nem tortenik semmi, ugyanugy megy tovabb. Loggolasat atallitottam debug modra de ott sincs nyoma annak hogy ment volna valamelyik signal. Ha rootkent probalom akkor is ugyanaz. kill -9 ertelemszeruen mukodik.