Skip Menu |

This queue is for tickets about the FCGI CPAN distribution.

Report information
The Basics
Id: 120340
Status: new
Priority: 0/
Queue: FCGI

People
Owner: Nobody in particular
Requestors: walter_borchia [...] hotmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: FCGX_Finish_r call FillBufferProc with FCGI_END_REQUEST already sent and reqDataPtr->isBeginProcessed TRUE
Date: Thu, 23 Feb 2017 12:21:50 +0000
To: "bug-FCGI [...] rt.cpan.org" <bug-FCGI [...] rt.cpan.org>
From: Walter Borchia <walter_borchia [...] hotmail.com>
hi, I have a problem with FCGI.074 and IIS 7.5. sometimes a get a burst of 500 error. (I think the proble is in fcgiapp.c.) after debugging I found a FillBufferProc continuously looping at SKIP: because reqDataPtr->isBeginProcessed is ON. in fcgiapp.c the routine Finish_r says: if (reqDataPtr->in) { close |= FCGX_FClose(reqDataPtr->err); close |= FCGX_FClose(reqDataPtr->out); // ==> send FCGI_END_REQUEST close |= FCGX_GetError(reqDataPtr->in); // => determines call FillBuffProc jast after if file not at eof // if a new request arrives, note that we have sent FCGI_END_REQUEST, FillBufferProc calls ProcessHeader and ProcessBeginHeader // that says reqDataPtr->isBeginProcessed is already TRUE so return SKIP I am now trying this solution: if (reqDataPtr->in) { close |= FCGX_FClose(reqDataPtr->err); close |= FCGX_FClose(reqDataPtr->out); if (reqDataPtr->isBeginProcessed) { close |= FCGX_FClose(reqDataPtr->in); } else { close |= FCGX_GetError(reqDataPtr->in); } thank you