[Question] redistribute modified mod_fastcgi.so
Satoru Kanno <[email protected]>
| Newsgroups | gmane.comp.web.fastcgi.devel,gmane.spam.detected |
|---|---|
| Message-ID | <[email protected]> |
Hi,
We have some questions about mod_fastcgi.so.
It's following:
[Questions]
- May I redistribute following modified library (mod_fastcgi.so)?
- When we redistribute it, Do we need a contract, a license, a royalty etc?
- What is the condition when we redistribute it?
e.g. We must distribute an LICENSE.TERMS with a modified library.
[Revision contents]
* Aim:
We are developing a Web server with a static mode of fastCGI,
Running in a high load state by communication with plural clients, this system have a
following error.
[Tue Jun 12 19:51:35 2007] [error] [client 192.168.1.1] (146)Connection refused: FastCGI:
failed to connect to server "/tss/cgi/bin/tss_ph10.fcgi": connect() failed
[Tue Jun 12 19:51:35 2007] [error] [client 192.168.1.1] FastCGI: incomplete headers (0
bytes) received from server "/tss/cgi/bin/tss_ph10.fcgi"
As a result of having analyzed fastCGI, we recognized an error of ECONNREFUSED in connect().
This error's Countermeasures is described in
URL(http://www.fastcgi.com/archives/fastcgi-developers/2002-August/002194.html).
However, we cannot apply this countermeasures. Because we must use Unix socket.
When this web server has this error, we want to modify it, fastCGI retry connect().
Target version : mod_fastcgi v2.4.2
------- Output result of diff command : Start ------------------------------------------------
1070a1071
> > int connect_retry = 0; /* connect retry count on ECONNREFUSED */
1343a1345
> > RetryConnection: /* retry from socket creation rather than just connect() */
1382a1385,1411
> > /*
> > * ECONNREFUSED returned by connect() means the server is not listening or the
> > * listen queue is full. In case of the latter another attempt to connect may
> > * succeed.
> > */
> > #define TSA_RETRY_MAX_COUNT 100 /* max retry count */
> > #define TSA_RETRY_INTERVAL 10 /* retry interval (10 ms) */
> > if (errno == ECONNREFUSED && connect_retry < TSA_RETRY_MAX_COUNT) {
> > struct timespec ts;
> >
> > /* close socket in order to retry from socket creation */
> > close(fr->fd);
> > fr->fd = -1;
> >
> > ap_log_rerror(FCGI_LOG_ERR, r,
> > "FastCGI: failed to connect to server \"%s\": "
> > "connect() failed -- retrying from socket creation.",
> > fr->fs_path);
> >
> > ts.tv_sec = 0;
> > ts.tv_nsec = TSA_RETRY_INTERVAL * 1000000;
> > nanosleep(&ts, NULL);
> >
> > connect_retry++;
> > goto RetryConnection;
> > }
------- Output result of diff command : End -----------------------------------------------
Best regards,
Satoru kanno
___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/