ich spiele gerade etwas mit den beiden o.g. modulen herum und schreibe einen
kleinen mp3-player.
nun kommt es vor, dass sich das programm aufhängt, manchmal in der mitte
eines liedes oder am ende, so dass ich den prozess killen muss.
ich vermute, das liegt daran, dass das mp3-modul einen prozess fork()t
und dann auf STDERR schreibt, ein ähnliches problem hatte ich schonmal.
wenn ich ohne Curses einen song abspiele, läuft alles problemlos.
ich vermute mal, ich muss irgendwo was mit STDERR und evtl. STDOUT
machen, nur komm ich grad nicht drauf, was...
ich will STDERR auch nicht schliessen (oder nach /dev/null umleiten).
wenn ich selbst ein fork() ausführe, kann ich folgendes tun:
...
# child
open STDERR, ">/dev/null";
exec ($prog, @args); # mp3player starten
dann läuft Curses weiter.
um mit MPEG::MP3Play einen song abzuspielen, mache ich
das fork() ja nicht selbst, sondern sage einfach:
$mp3_object->play();
lange erklärung, kurzersinn: hat jemand erfahrung mit den modulen?