I believe fd 0 and/or fd 1 are closed in Apache 2 which might be causing the
issue.
I had the similar kid of issue - i used following code to fix it
$fileno = fileno(STDIN);
if ( defined($fileno) and $fileno != 0)
{
$stdin = IO::Handle->new();
$stdin->fdopen(0, "w") ||
die "Unable to open STDIN using fd 0: $!\n";
}
else
{
$stdin = \*STDIN;
}
On Wed, Nov 19, 2008 at 7:44 PM, Rashmi Badan <[EMAIL PROTECTED]>wrote:
> Hi,
>
> I load mod_perl into a customized Apache on Windows but when I send a
> simple request (http://host:port/perl/testperl.pl - testperl.pl just
> prints a simple message) Apache dies and throws the following message
> in the error log
>
> Failed to dup STDIN: Bad file descriptor.
>
> I see that this is coming from modperl_io_perlio_override_stdin() in
> modperl_io.c but do not know why. If I try loading the same module
> into plain Apache I don't seem to hit this problem and am able to
> access the script just fine. I would appreciate it if someone could
> give me some pointers to debug this issue.
>
> Versions used :
> Apache 2.2.9
> mod_perl 2.0.4
> perl 5.10
>
> mod_perl.conf.
> -------------------------------------------------------------
> LoadFile ${PERL_PATH}/bin/perl510.dll
> LoadModule perl_module modules/mod_perl.so
>
> #
> # Setup mod_perl to handle perl cgi scripts from the cgi-bin directory
> #
> <IfModule mod_alias.c>
> <IfModule mod_perl.c>
> Alias /perl/ "${APACHE_HOME}/cgi-bin/"
> PerlModule ModPerl::Registry
> PerlSwitches -I${APACHE_HOME}/mod_perl/lib
>
> <Location /perl/>
> SetHandler perl-script
> AddHandler perl-script .pl
> PerlResponseHandler ModPerl::Registry
> PerlOptions +ParseHeaders
> Options +ExecCGI
> </Location>
> </IfModule>
> </IfModule>
> -------------------------------------------------------------
>
> Thanks,
> Rashmi
>
--
--Shibi Ns--