author | Michael Krelin <hacker@klever.net> | 2008-02-24 16:40:58 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-02-24 16:40:58 (UTC) |
commit | f4db51309c0333434d9ee96bc52593dacab04c69 (patch) (unidiff) | |
tree | 07f750cf2bce44a41bb7f785a61695eab73ee529 | |
parent | ab29597add2b0ca62a05a274aa90b3ec770a75cc (diff) | |
download | kingate-f4db51309c0333434d9ee96bc52593dacab04c69.zip kingate-f4db51309c0333434d9ee96bc52593dacab04c69.tar.gz kingate-f4db51309c0333434d9ee96bc52593dacab04c69.tar.bz2 |
provide for running as a web server child
that is, if socket being opened is a null pointer, use FCGI_LISTENSOCK_FILENO
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | src/fastcgi.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/fastcgi.cc b/src/fastcgi.cc index 8b7668c..63b59f8 100644 --- a/src/fastcgi.cc +++ b/src/fastcgi.cc | |||
@@ -1,6 +1,7 @@ | |||
1 | #include <unistd.h> | 1 | #include <unistd.h> |
2 | #include <sys/types.h> | 2 | #include <sys/types.h> |
3 | #include <sys/stat.h> | 3 | #include <sys/stat.h> |
4 | #include <fastcgi.h> | ||
4 | #include "kingate/fastcgi.h" | 5 | #include "kingate/fastcgi.h" |
5 | #include "kingate/exception.h" | 6 | #include "kingate/exception.h" |
6 | 7 | ||
@@ -15,6 +16,9 @@ namespace kingate { | |||
15 | throw exception(CODEPOINT,"failed to FCGX_Init()"); | 16 | throw exception(CODEPOINT,"failed to FCGX_Init()"); |
16 | _initialized = true; | 17 | _initialized = true; |
17 | } | 18 | } |
19 | if(!s) { | ||
20 | sock = FCGI_LISTENSOCK_FILENO; | ||
21 | }else{ | ||
18 | sock = FCGX_OpenSocket(s,bl); | 22 | sock = FCGX_OpenSocket(s,bl); |
19 | if(sock<0) | 23 | if(sock<0) |
20 | throw exception(CODEPOINT,"failed to FCGX_OpenSocket("); | 24 | throw exception(CODEPOINT,"failed to FCGX_OpenSocket("); |
@@ -23,6 +27,7 @@ namespace kingate { | |||
23 | if(chmod(s,0777)) // XXX: configurable. | 27 | if(chmod(s,0777)) // XXX: configurable. |
24 | throw exception(CODEPOINT,"failed to chmod()"); | 28 | throw exception(CODEPOINT,"failed to chmod()"); |
25 | } | 29 | } |
30 | } | ||
26 | fcgi_socket::fcgi_socket(int s) | 31 | fcgi_socket::fcgi_socket(int s) |
27 | : sock(0) { | 32 | : sock(0) { |
28 | if(!_initialized) { | 33 | if(!_initialized) { |