[FASTCGI] apache 2.2+fastcgi+cgicc

Rob Saccoccio robs at fastcgi.com
Sun Sep 21 15:34:20 EDT 2008


Thanks for the patch.  Committed.

Rob


> -----Original Message-----
> From: fastcgi-developers-bounces+robs=saccoccio.org at mailman.fastcgi.com
> [mailto:fastcgi-developers-bounces+robs=saccoccio.org at mailman.fastcgi.com]
> On Behalf Of Tom Donovan
> Sent: Tuesday, August 26, 2008 8:58 AM
> To: fastcgi-developers at mailman.fastcgi.com
> Subject: Re: [FASTCGI] apache 2.2+fastcgi+cgicc
> 
> Jay Sprenkle wrote:
> > Good evening all,
> >
> > I'm trying to get a fastcgi+cgicc application working and I've run
> > into a snag. I'm not sure if it's a bug or I'm using the code
> > incorrectly. Any suggestions would be appreciated.
> >
> > Here's the setup:
> > Apache 2.x (latest version, running on windows xp) is configured to
> > start a single instance of my fastcgi application and communicate over
> > a tcp connection. I picked a random port in the 9000 range.
> >
> ...
> >
> >     if((GetStdHandle(STD_OUTPUT_HANDLE) == INVALID_HANDLE_VALUE) &&
> >        (GetStdHandle(STD_ERROR_HANDLE)  == INVALID_HANDLE_VALUE) &&
> >        (GetStdHandle(STD_INPUT_HANDLE)  != INVALID_HANDLE_VALUE) )
> >
> > Is this a bug in the fastcgi dll/Apache or am I using it wrong?
> >
> 
> Apache 2.2.9 included APR 1.3, which introduced an incompatible change to
> the way processes are
> created on Windows.  You will need to change mod_fastcgi and rebuild it
> for Apache 2.2.9 or higher.
> 
> Starting with Apache 2.2.9, it is necessary to call apr_procattr_io_set()
> to correctly configure
> stdin, stdout, and stderr for fastcgi programs before calling
> apr_procattr_child_in_set().
> 
> Here is a patch to fcgi_pm.c which will make mod_fastcgi compatible with
> Apache 2.2.9+.
> The patch affects the WIN32 portion of fcgi_pm.c, as this problem is
> specific to Windows.
> 
> -tom-
> 
> --- fcgi_pm.c	2004-04-14 22:01:26.000000000 -0400
> +++ fcgi_pm.c	2008-08-26 08:22:15.856008700 -0400
> @@ -559,6 +559,10 @@
>       if (apr_os_file_put(&file, &listen_handle, 0, tp))
>           goto CLEANUP;
> 
> +    /* required for APR 1.3+ */
> +    if (apr_procattr_io_set(procattr, APR_FULL_BLOCK, APR_NO_FILE,
> APR_NO_FILE))
> +        goto CLEANUP;
> +
>       /* procattr is opaque so we have to use this - unfortuantely it dups
> */
>       if (apr_procattr_child_in_set(procattr, file, NULL))
>           goto CLEANUP;
> 
> 
> _______________________________________________
> FastCGI-developers mailing list
> FastCGI-developers at mailman.fastcgi.com
> http://mailman.pins.net/mailman/listinfo.cgi/fastcgi-developers




More information about the FastCGI-developers mailing list