SPUG: unsupported %SIG in ActivePerl??

Marc M. Adkins Marc.M.Adkins at Doorways.org
Tue Apr 9 16:26:55 CDT 2002

> Anyway, I'm still open for suggestions if anyone else has any ideas
> they're willing to offer

In looking back at your original post you talk about 300+ processes.  All of
these are going to be running as threads under a single perl interpreter.
This may in itself be bad.  There are warnings about using up system
resources in this way, since your single scheduler process will end up with
the sum total of all open file handles for all of its forked children.

The Win32::Process module provides a way to create sub-processes via Win32
that are real processes.  It might be better to hack your code to use these
routines instead of fork() in your scheduler.  Of course, you're still
lacking the $SIG{CHLD}...you still need to actively track the status of the
child processes.

Part of the answer to your question will depend on the top-level structure
of your scheduler.

BTW, if you recompile Perl without ithreads you can enable the older
Thread.pm module which apparently works just fine.  This would give you
extra thread(s) for tracking the child processes without messing up your
scheduler's top-level structure.


 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     POST TO: spug-list at pm.org       PROBLEMS: owner-spug-list at pm.org
      Subscriptions; Email to majordomo at pm.org:  ACTION  LIST  EMAIL
  Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
 For daily traffic, use spug-list for LIST ;  for weekly, spug-list-digest
     Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org

More information about the spug-list mailing list