Doug MacEachern wrote:

> lemme guess, Perl_rsignal?  somehow i managed not to commit this
> yesterday, it's in cvs now.  i don't have a win32 system to test on at the
> moment, so any feeback from you, Randy K and others helps a great deal,
> thanks.

Great!

I've just given the latest cvs another try, and for the first time that I've seen
ApacheModulePerl.dll compiled and linked with 0 errors and 0 warnings.

What's more, it even seems to work too after having given it a quick bashing.

Unfortunately (for me, at least), I've still got the same problem which I had with
Perl 5.005_03, namely that I can't re-direct STDOUT in system() calls.

The following program works fine:

    $| = 1;
    print "Content-Type: text/plain\n\n";
    $status = system "D:\\WINNT\\system32\\ipconfig.exe";
    print "The system() call exited with status $status.\n";

(under Apache the output from IPCONFIG.EXE appears in the browser, under
Apache+mod_perl it disappears somewhere, like the mod_perl Guide says it will, and
$status is 0 both times).

But, if I change:

    $status = system "D:\\WINNT\\system32\\ipconfig.exe";

to:

    $status = system "D:\\WINNT\\system32\\ipconfig.exe > D:\\Temp\\ip.txt";

then it carries on fine under Apache (now re-directing the output to the "ip.txt"
file), but under Apache+mod_perl the $status gets set to 256, the "ip.txt" file is
not created and I get the error

    The handle could not be opened
    during redirection of handle 1.

in error.log

What is it that changed between Apache 1.3.6 (which doesn't have this problem) and
Apache 1.3.12 which causes this to happen, and can mod_perl be changed to cope
with it?


Steve Hay


Reply via email to