On Sun, Aug 11, 2013 at 6:10 PM, Richard Hipp <d...@sqlite.org> wrote:

> On Sun, Aug 11, 2013 at 9:20 AM, Stephan Beal <sgb...@googlemail.com>wrote:
>
>> That wasn't terribly clear. FastCGI basically starts 1 instance of the
>> app and keeps feeding it new data for each request. Fossil's structure does
>> not allow it to do that.
>>
>>
> Does too.
>
> For Fossil to run FastCGI/SCGI, all that is needed is another command
> similar to "fossil server" or "fossil ui".  The "fossil server" listens for
> incoming HTTP requests and responds separately to each request.  A "fossil
> fastcgi" or "fossil scgi" command would do basically the same thing, except
> that it would interpret the FastCGI or SCGI wire protocol rather than HTTP.
>

It _can_ do that but that negates the benefit of using fastcgi because
fossil ends up forking anyway.


>
> Fossil does not support FastCGI or SCGI simply because I do not have ready
> access to a webserver that supports those things and hence no way to test
> any proposed implementation.


There were 3 problems when i attempted a fastcgi port way back when (2009?
2010?):

- FastCGI replaces read() and write() with its own "drop-in" replacements,
so all code has to be compiled using them. However, they got the signature
wrong on the write() routine. They take a non-const (void*) for the src
argument), meaning that no compliant code can compile against it.

- FastCGI wants to initialize fossil one time and keep piping new POST/GET
data through it. Fossil's environment, IIRC, would potentially pollute one
request with data from another since they were all sharing the same memory.

- Because of the "singleton" behaviour, it was necessary to fork a new
instance on each request, eliminating the benefit of fastcgi.


-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to