And Windows Server 2003

Apr 21, 2009 16:15 GMT  ·  By

Microsoft is making FastCGI features delivered for IIS 7.5 in Windows 7 available for download for Windows XP and Windows Server 2003. This is possible with the FastCGI ISAPI 1.5 Beta, which is tailored to Windows XP and Windows Server 2003, marking the evolution of FastCGI ISAPI in terms of functionality. In this regard, Microsoft has revealed that features including MonitorChangesTo, StderrMode and Real-time tuning, which are specific to the FastCGI module in IIS 7.5, have also been included into FastCGI ISAPI 1.5. However, IIS 7.5 FastCGI features are not the only enhancement to FastCGI ISAPI 1.5 Beta. Kanwaljeet Singla, software design engineer at Microsoft, has explained that, in FastCGI ISAPI 1.5, IIS will provide a signal on termination of a child process.

“To enable this, you need to set SignalBeforeTerminateSeconds property in fcgiext.ini to greater than 0,” Singla adds. “When this functionality is enabled, IIS will create an inheritable event and pass its handle value to child process as value of _FCGI_SHUTDOWN_EVENT_ environment variable. If FastCGI ISAPI ever encounters a situation and is required to terminate the child process, it will first signal this event and wait for a maximum of SignalBeforeTerminateSeconds for process to terminate on its own. On detecting event being signaled, child processes can terminate themselves cleanly. If child processes are still alive after the wait period, IIS will forcibly terminate them.”

At the same time, FastCGI ISAPI 1.5 Beta has used the _FCGI_X_PIPE_ environment variable as a value of the named pipe responsible for delivering communication related to the FastCGI process. Microsoft has also gone a step further into attempting to make error messages related to the invalid configuration of fcgiext.ini readable to customers. FastCGI ISAPI 1.5 Beta will now point exactly to the error source and will also reveal what has gone wrong.

“FastCGI 1.0 had very strict checking on validity of response headers. We got bunch of reports from customers who complained about this difference of behavior compared to other web servers. In this release, we have removed these checks. If we find an invalid response header, we silently drop it from the response. This behavior matches behavior of other web servers,” Singla explains. “Customers easily ran into ActivityTimeout especially while running install.php code of popular PHP applications. So we have changed default value of ActivityTimeout from 30 seconds to 70 seconds.”