Hi there

I'm stuck with system(). According to some posts, system() is passing SIGINT
and SIGQUIT to it's child, yet this doesn't seem to work. I've boiled the
code down to the following lines. (Please note that 'alsaplayer' is a console
soundfile player that honors SIGINT and SIGQUIT by immediately quitting.)

sub controler
{
    my $pid = fork;
    if (!$pid) { &player(); }
    while (!-e "stop") { sleep(10); }
    kill('QUIT', $pid);
}

sub player
{
    system("alsaplayer -q song.mp3");
    sleep;
}

The controler forks off the player child which system()-implicitly forks
again and runs alsaplayer in the child. So the sound's playing. I 'touch
stop' and the controler signals SIGQUIT to the player child. This works as
I can see when I catch SIGQUIT there. Still, the SIGQUIT is not forwarded
to the child running alsaplayer the way it is supposed to do - at least according
to my literature.

Am I missing something here? Any idea how I could do this differently?

Thanks for your hints,    Steve


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to