On 5/22/2010 08:27, Marcos Douglas wrote:
(...)
However, any time the need arises, we can just recompile the app as an
Apache module in minutes and us that.
The web module source code is exactly the same for CGI programs and Apache
mods, so no changes needed for the recompile at all.

No changes to transform CGI code in Apache_mod?
Well, I never coded an Apache_mod, but I think it would be
multi-thread, right? Your code is like that?
Can you talk more about?


Marcos Douglas

We write all code as if it were an Apache module (or FCGI), even if we compile it as CGI at the moment. You just need to take care of the fact that web modules already in the memory can be reused for following requests (in case of Apache mods and FCGI), so the global variables, web module variables (private and public), etc. can have values left over from previous requests. Especially, need to take care of closing connections, files, free used memory, etc. after a request is finished and put back things to the initial state before leaving, so the next request that might get the same web module for action handling will find the same state as the previous.
This is the same for Apache modules and FCGI.

Only the .lpi and .lpr files (they are all very small and after creating them the first time no changes are needed at all) are different between Apache module, FCGI and CGI applications, the web module file is the same (example: under your Lazarus directory in /components/fpweb/demo/fptemplate/sessions/urlsessions-login/).

AB


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to