20 |
|
|
21 |
#include "boa.h" |
#include "boa.h" |
22 |
|
|
23 |
|
/* Hydra Internally handled CGIs (HIC HIC) |
24 |
|
* |
25 |
|
* How does it work? |
26 |
|
* |
27 |
|
* A special thread (maybe more than one), is used for CGIs. This tread |
28 |
|
* uses one pipe to communicate with the others via hic_send_command(). |
29 |
|
* |
30 |
|
* If a request for a HIC file arrives, the server goes as a normal CGI |
31 |
|
* creates a pipe, but does not fork. It sends instead a message to this |
32 |
|
* (HIC) thread to handle the request which includes the output fd. |
33 |
|
* |
34 |
|
* The HIC thread, when receives the message, parses the CGI in |
35 |
|
* FIFO mode (one CGI at the time), and sends the output to fd. |
36 |
|
* |
37 |
|
* The benefit is that in no case the server is blocked. We may have |
38 |
|
* a problem, if the server only uses parsed CGIs. |
39 |
|
*/ |
40 |
|
|
41 |
#ifdef ENABLE_HIC |
#ifdef ENABLE_HIC |
42 |
|
|
43 |
#include "hic.h" |
#include "hic.h" |