You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Paul J. Reder" <re...@raleigh.ibm.com> on 2001/01/12 21:43:38 UTC

Merging mod_cgi and mod_cgid or not.

Ryan,

You had mentioned the possibility of merging mod_cgi and mod_cgid. While working
on the recent move of the SSI "exec" directive I looked at this possibility.

The conclusion that I came to was that there is relatively little overlap between
the two. The reason relates to the primary difference in methodology. Because
mod_cgid is socket/stream based all handling of parms, environment, etc is handled
via flat buffer streams (char strings) while mod_cgi uses the native structures.
mod_cgi could be made to use the same formats as mod_cgid, but this seems inefficient
to me.

The module initialization and process initialization code is also different between the
two since mod_cgid needs to start up the server process and send the requests over the
socket to the server while mod_cgi does little module init but has to setup the handler
process for each request.

There is a little validity checking code that is common, and a little of the cgi process
code is the same, but these are both buried inside plenty of uncommon code.

My feeling was that they could be merged, but it would make each path less efficient. The
code would also be ifdef uglified nearly to the point of being unmaintanable.

Just my opinion. YMMV.

-- 
Paul J. Reder
-----------------------------------------------------------
"The strength of the Constitution lies entirely in the determination of each
citizen to defend it.  Only if every single citizen feels duty bound to do
his share in this defense are the constitutional rights secure."
-- Albert Einstein