Hi,

I will upgrade from

  Embedded Perl version 5.00502 for Apache/1.3.6 (Unix) mod_perl/1.19
to
  Embedded Perl version v5.6.1 for Apache/1.3.23 (Unix) mod_perl/1.26

But now all mod_perl scripts which uses IPC::Open3::open3() fails
because STDIN of the new process is closed. I have done some test
and found that

  print(join "\n", fileno(STDIN), fileno(STDOUT), fileno(STDERR), '' );

shows

  1
  1
  2

and not the expected

  0
  1
  2

open3 calls

  xopen \*STDIN,  "<&=" . fileno $kid_rdr;

but because fileno(STDOUT) is equal to fileno(STDIN) the new fileno
of STDIN after the dup will be greater than 2 and so closed by the
exec call but also as 1 it would not work.

Is this a known problem?

regards, Silvio

Reply via email to