Skip to content
  1. Mar 05, 2006
    • Garrett Rooney's avatar
      Stop holding open connections to the backend fastcgi processes. At · 9e0d86da
      Garrett Rooney authored
      this point we lack a good way to manage them, and thus it's really
      easy to end up with situations where you get weird timeouts because
      other worker process are holding all the connections open.
      
      This allows Rails applications to reliably work with mod_proxy_fcgi.
      
      * modules/proxy/mod_proxy_fcgi.c
        (dispatch): Add a timeout for our poll.  This should be controlled
         by a config option of some sort, but for now just hardcode it.
        (proxy_fcgi_handler): Set close_on_recycle to 1, so we don't hold
         open connections to the fastcgi processes.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383278 13f79535-47bb-0310-9956-ffa450edef68
      9e0d86da
    • Garrett Rooney's avatar
      Bring the debugging output up to date with the kind of things that are · 984c7cc6
      Garrett Rooney authored
      actually being debugged at the moment.  Also note a problem with the way
      we handle the path info setup.
      
      * modules/proxy/mod_proxy_fcgi.c
        (proxy_fcgi_canon): Log the filename and path info when we set them,
         add a note that the path info stuff isn't being set if we're run in
         a balancer setup, which needs to be fixed somehow.
        (send_environment): Add an (ifdefed) call to log the environment vars
         we send to the backend server.
        (dump_header_to_log): Default to ifdefing this out, we're a bit beyond
         bugs in the raw FCGI protocol at this point and it fills up the logs.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@383239 13f79535-47bb-0310-9956-ffa450edef68
      984c7cc6
  2. Feb 13, 2006
  3. Feb 09, 2006
  4. Jan 29, 2006
  5. Jan 24, 2006
    • Garrett Rooney's avatar
      Clean up the end-of-headers detection code a bit. I'm still getting some · 6c81db01
      Garrett Rooney authored
      strange problems with really large numbers of headers, but I'm starting to
      suspect that it's a problem with my FastCGI lib, not this module, and this
      at least makes things shorter and a bit easier to read, along with fixing
      one bug.
      
      * modules/proxy/mod_proxy_fcgi.c
        (handle_headers): Get rid of some cases that were not strictly needed.
         Insert a case that was missed that screwed things up when there were
         more than one header.
        (dispatch): Move the 'done with headers' code into the preceding block,
         add a note about a case that needs to be investigated.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@371840 13f79535-47bb-0310-9956-ffa450edef68
      6c81db01
  6. Jan 23, 2006
  7. Jan 11, 2006
  8. Jan 09, 2006
  9. Jan 08, 2006
  10. Jan 07, 2006
    • Garrett Rooney's avatar
      Update a log message. · f50f6796
      Garrett Rooney authored
      * modules/proxy/mod_proxy_fcgi.c
        (fcgi_do_request): We're no longer just handling STDIN in this call...
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366927 13f79535-47bb-0310-9956-ffa450edef68
      f50f6796
    • Garrett Rooney's avatar
      Make the handling of FastCGI request headers consistent. Previously, we · 0c10777d
      Garrett Rooney authored
      used a struct to hold the data when writing it, but read it into an array
      when reading it.  This meant that the knowledge of the header layout was
      in two places.  This change moves both sides to using an array, and adds
      a set of #defines for the offsets into the array, so neither side can get
      out of sync.
      
      This also moves the logic for setting up the content length bytes into one
      place, where before we had it in several places.
      
      * modules/proxy/fcgi_protocol.h
        (fcgi_header): Removed.
        (FCGI_HDR_VERSION_OFFSET,
         FCGI_HDR_TYPE_OFFSET,
         FCGI_HDR_REQUEST_ID_B1_OFFSET,
         FCGI_HDR_REQUEST_ID_B0_OFFSET,
         FCGI_HDR_CONTENT_LEN_B1_OFFSET,
         FCGI_HDR_CONTENT_LEN_B0_OFFSET,
         FCGI_HDR_PADDING_LEN_OFFSET,
         FCGI_HDR_RESERVED_OFFSET): New constants.
      
      * modules/proxy/mod_proxy_fcgi.c
        (fill_in_header): Take an array, not a struct pointer, and handle all
         the contents of the header, not just the type and request id.
        (send_begin_request, send_environment, dispatch): Update for new way
         to fill in headers.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@366926 13f79535-47bb-0310-9956-ffa450edef68
      0c10777d
  11. Jan 06, 2006
  12. Jan 05, 2006
  13. Jan 04, 2006
  14. Jan 03, 2006
  15. Jan 02, 2006
  16. Dec 30, 2005
  17. Dec 29, 2005
    • Paul Querna's avatar
      Add support for reading FCGI_STDOUT and FCGI_END_REQUEST records from the · 5c708e2d
      Paul Querna authored
      back end fastcgi process.  This includes switching to a poll based dispatch
      loop that handles interleaved reads and writes.
      
      * modules/proxy/mod_proxy_fcgi.c
        (MAX_INPUT_BYTES): Removed, we now use AP_IOBUFSIZE.
        (handle_headers): New helper function for parsing headers out of the
         response data.
        (send_stdin): Removed, code incorporated into dispatch routine.
        (dispatch): New, poll based dispatch loop that handles both reads and
         writes.
        (fcgi_do_request): Call new dispatch routine.  Return OK if we get
         through without errors.
      
      Submitted By: Garrett Rooney <rooneg apache.org>
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/fcgi-proxy-dev@359901 13f79535-47bb-0310-9956-ffa450edef68
      5c708e2d
  18. Dec 27, 2005
  19. Dec 26, 2005
  20. Dec 23, 2005
  21. Dec 18, 2005
  22. Dec 17, 2005
  23. Dec 16, 2005