-rw-r--r-- | src/fastcgi.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fastcgi.cc b/src/fastcgi.cc index 6285370..8b7668c 100644 --- a/src/fastcgi.cc +++ b/src/fastcgi.cc | |||
@@ -28,25 +28,28 @@ namespace kingate { | |||
28 | if(!_initialized) { | 28 | if(!_initialized) { |
29 | if( FCGX_Init() ) | 29 | if( FCGX_Init() ) |
30 | throw exception(CODEPOINT,"failed to FCGX_Init()"); | 30 | throw exception(CODEPOINT,"failed to FCGX_Init()"); |
31 | _initialized = true; | 31 | _initialized = true; |
32 | } | 32 | } |
33 | } | 33 | } |
34 | fcgi_socket::~fcgi_socket() { | 34 | fcgi_socket::~fcgi_socket() { |
35 | if(sock>=0) | 35 | if(sock>=0) |
36 | close(sock); | 36 | close(sock); |
37 | } | 37 | } |
38 | 38 | ||
39 | fcgi_interface::fcgi_interface(fcgi_socket& s,int f) | 39 | fcgi_interface::fcgi_interface(fcgi_socket& s,int f) |
40 | : sin(&sbin), sout(&sbout), serr(&sberr) { | 40 | : sbin(buf_sbin,sizeof(buf_sbin)), |
41 | sbout(buf_sbout,sizeof(buf_sbout)), | ||
42 | sberr(buf_sberr,sizeof(buf_sberr)), | ||
43 | sin(&sbin), sout(&sbout), serr(&sberr) { | ||
41 | if( FCGX_InitRequest(&request,s.sock,f) ) | 44 | if( FCGX_InitRequest(&request,s.sock,f) ) |
42 | throw exception(CODEPOINT,"failed to FCGX_InitRequest()"); | 45 | throw exception(CODEPOINT,"failed to FCGX_InitRequest()"); |
43 | if( FCGX_Accept_r(&request) ) | 46 | if( FCGX_Accept_r(&request) ) |
44 | throw exception(CODEPOINT,"failed to FCGX_Accept_r()"); | 47 | throw exception(CODEPOINT,"failed to FCGX_Accept_r()"); |
45 | sbin.attach(request.in); | 48 | sbin.attach(request.in); |
46 | sbout.attach(request.out); | 49 | sbout.attach(request.out); |
47 | sberr.attach(request.err); | 50 | sberr.attach(request.err); |
48 | for(char **p = request.envp; *p; p++) { | 51 | for(char **p = request.envp; *p; p++) { |
49 | const char *e = strchr(*p,'='); | 52 | const char *e = strchr(*p,'='); |
50 | if(!e){ | 53 | if(!e){ |
51 | // XXX: check if we have it already? | 54 | // XXX: check if we have it already? |
52 | metavars[*p] = string(0); | 55 | metavars[*p] = string(0); |