I'm not running anything, it's all automated so set is not much help to me.
delete $ENV{PAR_TEMP} before each fork does seem to help me out though.

I still don't have it working in may main program yet but I'm getting there.

here are the steps that happen.

1.  Program starts on boot.
2.  Checks in with server on a regular basis to see if an update is
available.
3.  Downloads updater.
4.  runs updater.
5.  shutsdown
6.  updater updates, and starts main program.

-jess

-----Original Message-----
From: Alan Stewart [mailto:[EMAIL PROTECTED]
Sent: Saturday, February 21, 2004 9:26 PM
To: Jesse Schoch; [EMAIL PROTECTED]
Subject: RE: exec problems


On 21 Feb 2004 at 20:21, Jesse Schoch wrote:

> I didn't see the updated archive, is it up on http://aut.dyndns.org/dist/
>
> Also I hope I can do the following, though I can live without the -C.
> pp -C -d -o foo.exe foo.pl
> pp -C -d -o bar.exe bar.pl

Any combination should work. Just watch out for mixing:
    pp -C -o foo.exe foo.pl
    pp -C -d -o bar.exe bar.pl
or
    pp -C -d -o foo.exe foo.pl
    pp -C -o bar.exe bar.pl
You might notice an unavoidable side effect in Win32. Since foo and bar
execute in the
same process space, they will both use the same perl5x.dll. In the first
case, the one
extracted to the foo temp dir; in the second case, the one in the perl bin
dir. That
affects the contents of @INC.

> ___________ foo.pl _______________
> #!/usr/bin/perl -w
> use Win32::Process;
> #  not sure if what to set the TEMP var to.
> $ENV{PAR_GLOBAL_TEMP} = "";
> $ENV{PAR_GLOBAL_CLEAN = 1;
> Win32::Process::Create($ProcessObj,
>        "bar.exe",
>        "bar",
>        0,# this should make the process not inherit anything from the
> process, not sure why it doesn't work.
>        NORMAL_PRIORITY_CLASS,
>        ".")|| die &Error;

The intent of PAR_GLOBAL_xxx was to do:
    pp -d -o foo.exe foo.pl
    pp -d -o bar.exe bar.pl
    pp -d -o baz.exe baz.pl
    set PAR_GLOBAL_CLEAN=1
    foo
    baz
and have foo, bar and baz run as if they had been compiled with -C.
If you include $ENV{PAR_GLOBAL_CLEAN}=1 in foo.pl and not the command line,
it would
run bar clean, but not foo and baz. If the temp dir name generated
automatically by PAR
is OK with you, then you don't need $ENV{PAR_GLOBAL_TEMP} either. If you do
specify
PAR_GLOBAL_TEMP, that overides any -C or PAR_GLOBAL_CLEAN anyway.

Alan Stewart



Reply via email to