From: [EMAIL PROTECTED]
> I'm hoping someone has done this before. I need to spawn 3 processes
> and then wait for all three to finish.
>
> spawn like this:
> my $obj;
> my $appname = $perl;
> my $cmdline = "$deliverscript $arg";
> my $iflags = 1;
> my $cflags = CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS;
> my $curdir = $localdir{$filetype};
>
> my $Result1 = Win32::Process::Create(
> $obj1,$appname,$cmdline,$iflags,$cflags,$curdir );
> my $Result2 = Win32::Process::Create(
> $obj2,$appname,$cmdline,$iflags,$cflags,$curdir );
> my $Result3 = Win32::Process::Create(
> $obj3,$appname,$cmdline,$iflags,$cflags,$curdir );
>
> but how can I tell when all three are finished? If I use
> $obj1->Wait(INFINITE);
> $obj2->Wait(INFINITE);
> $obj3->Wait(INFINITE);
>
> what happens if $obj2 finishes before $obj1?
Why don't you try it?
Start three notepads and try to close them in different orders.
> is there a way to check and see if a process ($obj1,$obj2,$obj3) is
> still running?
The
$ProcessObj->GetExitCode($ex);
seems to set $ex to 259 if the process is still running.
Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]