I'm trying to start a daemon process from a perl cgi script running on boa. The cgi script does something like

where /bin/foo is another perl script that does  a fork, where the parent exits and the child starts up the actual program. i.e.

     defined(my $pid = fork)   or die "Can't fork: $!";
     exit if $pid; 

However the problem I'm having is boa hangs waiting for the return on the system call from the cgi script. But what I don't understand is the second script has exited (the parent anyhow) so should'nt the system call in the cgi script return?