You should consider upgrading to 5.8. You can also try running Perl under Cygwin (it's a free Unix-like environment for Windows based on the GNU tools). Cygwin runs great on Windows 2000 and XP. Once again, it's more problematic with 95/98/ME. It is much more compatible with Unix than Activeperl. You can have both Activeperl and Cygwin Perl installed at the same time--they go in separate directories. The fork emulation is much better--it's still slow compared to Unix, but fast enough for many uses.
You could also use Win32::Process instead of fork() to start up brand new processes. You would pass a command-line argument telling the program that it is a child (and possibly giving a socket port to connect to).
You can try debugging Net::Shared--just put a bunch of print statements in the modules and see exactly where it fails--you might be able to fix it, even without upgrading your Perl. The module files should be installed as:
c:\Perl\site\lib\Net\Shared.pm
c:\Perl\site\lib\Net\Shared\Handler.pm
c:\Perl\site\lib\Net\Shared\Local.pm
c:\Perl\site\lib\Net\Shared\Remote.pm
Specifically, sub store is in Handler.pm and it calls a couple of subs in Local.pm.
One other piece of advice is that you probably don't want to try to max out the number of processes that you are running. If you spend most of your time waiting for a response over the network, then maybe 10 to 15, but that may be pushing it. Your network connection bandwidth, CPU, and memory will probably limit you before that.
In reply to Re: Useful fork with IPC on win32 ?
by Thelonius
in thread Useful fork with IPC on win32 ?
by NetWallah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |