Actually my solution to this problem was pretty rational. I just turned mod_perl off for this particular program.

<Files ~ "(?<!myfork)\.pl$">
  PerlHandler ModPerl::Registry
</Files>

Will I a have possible performance problems? Sure, but nothing a few more $25/month servers can't fix, and it saves me all the aggravation of the past months trying to get this to work.

Problem solved!

Tosh


Torsten Förtsch wrote:
On Tuesday 09 February 2010 14:21:57 Tosh Cooey wrote:
use POSIX 'setsid';
if( fork ) { POSIX::_exit 0; CORE::exit 0 }
chdir '/'                or die "Can't chdir to /: $!";

simplest is to fork() another time to break the parent-child relationship.

Keep in mind that you make your service vulnerable if you simply fork off long running processes.

What prevents a user from testing it:

  ab -n 100000 -c 100 http://...

This will quite fast create a *lot* of processes.

I tend to use some kind of queue for such processing. But, of course, it depends.

Torsten


--
McIntosh Cooey - Twelve Hundred Group LLC - http://www.1200group.com/

Reply via email to