From c8bcbfb951eec5fe14dac0b14f4faaf4a9f9f229 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Mon, 04 Jul 2005 18:08:49 +0000 Subject: added buffers to fastcgi streambufs. It gains compatibility with normal streambuf manipulations at the cost of performance (according to comments in fcgi devkit). The performance lost should not be disastrous, though. --- diff --git a/include/kingate/fastcgi.h b/include/kingate/fastcgi.h index fd293b9..6f136b3 100644 --- a/include/kingate/fastcgi.h +++ b/include/kingate/fastcgi.h @@ -41,14 +41,29 @@ namespace kingate { class fcgi_interface : public cgi_interface { public: /** + * buffer for sbin + * @see sbin + */ + char buf_sbin[512]; + /** * stdin fcgi streambuf. */ fcgi_streambuf sbin; /** + * buffer for sbout + * @see sbout + */ + char buf_sbout[512]; + /** * stdout fcgi streambuf. */ fcgi_streambuf sbout; /** + * buffer for sberr + * @see sberr + */ + char buf_sberr[512]; + /** * stderr fcgi streambuf. */ fcgi_streambuf sberr; diff --git a/src/fastcgi.cc b/src/fastcgi.cc index 6285370..8b7668c 100644 --- a/src/fastcgi.cc +++ b/src/fastcgi.cc @@ -37,7 +37,10 @@ namespace kingate { } fcgi_interface::fcgi_interface(fcgi_socket& s,int f) - : sin(&sbin), sout(&sbout), serr(&sberr) { + : sbin(buf_sbin,sizeof(buf_sbin)), + sbout(buf_sbout,sizeof(buf_sbout)), + sberr(buf_sberr,sizeof(buf_sberr)), + sin(&sbin), sout(&sbout), serr(&sberr) { if( FCGX_InitRequest(&request,s.sock,f) ) throw exception(CODEPOINT,"failed to FCGX_InitRequest()"); if( FCGX_Accept_r(&request) ) -- cgit v0.9.0.2