You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-cvs@tcl.apache.org by mx...@apache.org on 2018/01/01 22:17:12 UTC
svn commit: r1819787 - in /tcl/rivet/trunk: ChangeLog doc/rivet.xml
doc/rivet.xml.in doc/xml/internals.xml doc/xml/intro.xml
doc/xml/request.xml src/mod_rivet_ng/mod_rivet.h
Author: mxmanghi
Date: Mon Jan 1 22:17:12 2018
New Revision: 1819787
URL: http://svn.apache.org/viewvc?rev=1819787&view=rev
Log:
* doc/xml/: more error checking and several improvements to the manual
Modified:
tcl/rivet/trunk/ChangeLog
tcl/rivet/trunk/doc/rivet.xml
tcl/rivet/trunk/doc/rivet.xml.in
tcl/rivet/trunk/doc/xml/internals.xml
tcl/rivet/trunk/doc/xml/intro.xml
tcl/rivet/trunk/doc/xml/request.xml
tcl/rivet/trunk/src/mod_rivet_ng/mod_rivet.h
Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Mon Jan 1 22:17:12 2018
@@ -1,3 +1,7 @@
+2017-01-01 Massimo Manghi <mx...@apache.org>
+ * doc/xml/: more error checking and several improvements to
+ the manual
+
2017-12-29 Massimo Manghi <mx...@apache.org>
* doc/rivet.xml.in: more entities to extend documentation
* doc/xml/intro.xml: introduction revised and extended
Modified: tcl/rivet/trunk/doc/rivet.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/rivet.xml?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/rivet.xml (original)
+++ tcl/rivet/trunk/doc/rivet.xml Mon Jan 1 22:17:12 2018
@@ -44,6 +44,7 @@
<!ENTITY apache-url "http://httpd.apache.org" >
<!ENTITY apachedoc-vhost "https://httpd.apache.org/docs/2.4/vhosts" >
<!ENTITY apachedoc-mpm "https://httpd.apache.org/docs/2.4/mpm.html" >
+ <!ENTITY apachedoc-prefork "https://httpd.apache.org/docs/2.4/mod/prefork.html" >
<!ENTITY apachedoc-docroot "https://httpd.apache.org/docs/2.4/mod/core.html#documentroot" >
<!ENTITY apachedoc-alias "https://httpd.apache.org/docs/2.4/mod/mod_alias.html" >
<!ENTITY apachedoc-rewrite "https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html" >
Modified: tcl/rivet/trunk/doc/rivet.xml.in
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/rivet.xml.in?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/rivet.xml.in (original)
+++ tcl/rivet/trunk/doc/rivet.xml.in Mon Jan 1 22:17:12 2018
@@ -44,6 +44,7 @@
<!ENTITY apache-url "http://httpd.apache.org" >
<!ENTITY apachedoc-vhost "https://httpd.apache.org/docs/2.4/vhosts" >
<!ENTITY apachedoc-mpm "https://httpd.apache.org/docs/2.4/mpm.html" >
+ <!ENTITY apachedoc-prefork "https://httpd.apache.org/docs/2.4/mod/prefork.html" >
<!ENTITY apachedoc-docroot "https://httpd.apache.org/docs/2.4/mod/core.html#documentroot" >
<!ENTITY apachedoc-alias "https://httpd.apache.org/docs/2.4/mod/mod_alias.html" >
<!ENTITY apachedoc-rewrite "https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html" >
Modified: tcl/rivet/trunk/doc/xml/internals.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/internals.xml?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/internals.xml (original)
+++ tcl/rivet/trunk/doc/xml/internals.xml Mon Jan 1 22:17:12 2018
@@ -23,7 +23,7 @@
</para>
<para>
From the very beginning mod_rivet was designed to work with
- the <ulink url="http://httpd.apache.org/docs/2.4/mod/prefork.html">prefork MPM</ulink>
+ the <ulink url="&apachedoc-prefork;">prefork MPM</ulink>
MPM (Multi Processing Module) which assumes the OS to have 'fork' capabilities.
This prerequisite basically restricted mod_rivet to work only with
Unix-like operative systems. Starting with version 3.0 we reorganized
@@ -281,7 +281,6 @@
/* we have to get the thread private data */
THREAD_PRIVATE_DATA(private)
- ....
/* if ::rivet::mycmd works within a request processing we have
* to check if 'private' is bringing a non null request_rec pointer
@@ -289,10 +288,9 @@
CHECK_REQUEST_REC(private,"::rivet::mycmd");
....
+
+ return TCL_OK;
}</programlisting>
- In <command>Rivet_InitCore</command> define the new command and its handler
-<programlisting>RIVET_OBJ_CMD ("mycmd",Rivet_MyCmd,private);</programlisting>
- notice the argument is the command name defined without the namespace qualification
</listitem>
<listitem>
Add a test for this command in <option>tests/checkfails.tcl</option>. For
Modified: tcl/rivet/trunk/doc/xml/intro.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/intro.xml?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/intro.xml (original)
+++ tcl/rivet/trunk/doc/xml/intro.xml Mon Jan 1 22:17:12 2018
@@ -28,27 +28,29 @@
<simplesect>
<!-- title>Introduction</title -->
- <title>Rivet - MPM Bridge</title>
+ <title>Apache MPM and Rivet Bridge Modules</title>
<para>
- Rivet &version; ships with a major rewriting of mod_rivet, the Apache HTTP
+ Rivet &version; is a major rewriting of mod_rivet, the Apache HTTP
Websever module at the core of Rivet. Unlike in previous versions of
- mod_rivet which only supported
- the prefork MPM, starting with &version30;
- we attained full support of different MPM (Multiprocessing Modules) for
+ mod_rivet which only supported the <ulink href="&apachedoc-prefork;">prefork MPM</ulink>
+ (<ulink href="&apachedoc-mpm;">Multiprocessing Module</ulink>),
+ starting with &version30; we attained full support of different MPM for
the Apache framework.
</para>
<para>
Threaded <ulink href="&apachedoc-mpm;">MPM</ulink>
integration was achieved by making mod_rivet multithreaded and
- modular itself, introducing the concept of a MPM module-bridge.
+ modular itself, introducing the MPM-module bridge concept.
We developed a set of loadable modules
- responsible to offer to the running MPM the best possible integration with
- mod_rivet. As a side effect of this modular design mod_rivet is not only able to integrate
+ which are supposed not only to overcome the issues related to threading but also
+ the best possible MPM mod_rivet integration.
+ As a side effect of this modular design mod_rivet is not only able to integrate
with its environment but also to work as a framework for writing more MPM bridges
designed along different multi-threading schemes and workload management models.
See the <link linkend="internals">internals</link> section of this manual for
- further reading. MPM bridges can be determined in the configuration and only
- a bridge can be loaded at a time.
+ further reading. MPM bridges are loaded accordingly to a heuristics of rules based
+ on the Apache introspection calls but they can be determined in the configuration.
+ Only a bridge can be loaded at a time.
</para>
</simplesect>
<simplesect>
Modified: tcl/rivet/trunk/doc/xml/request.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/request.xml?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/request.xml (original)
+++ tcl/rivet/trunk/doc/xml/request.xml Mon Jan 1 22:17:12 2018
@@ -173,8 +173,14 @@
</simplesect>
<simplesect>
<title>Tcl Namespaces in Rivet and the <command>::request</command> Namespace</title>
+ <note>
+ This paragraph applies to the standard mod_rivet way of handling requests. This
+ method is explained in the <xref linkend="processing">request processing</xref>.
+ If you write your own processing root procedure you have entire
+ freedom on how to manage namespaces of your applications
+ </note>
<para>
- With the sole exception of .rvt templates, Rivet runs pure Tcl scripts
+ With the sole exception of .rvt templates, mod_rivet runs pure Tcl scripts
at the global namespace. That means that every variable or procedure
created in Tcl scripts resides by default in the
"::" namespace (just like in traditional Tcl scripting) and they
Modified: tcl/rivet/trunk/src/mod_rivet_ng/mod_rivet.h
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/mod_rivet_ng/mod_rivet.h?rev=1819787&r1=1819786&r2=1819787&view=diff
==============================================================================
--- tcl/rivet/trunk/src/mod_rivet_ng/mod_rivet.h (original)
+++ tcl/rivet/trunk/src/mod_rivet_ng/mod_rivet.h Mon Jan 1 22:17:12 2018
@@ -80,13 +80,15 @@
#define USER_CONF_MERGED(mc) ((mc->user_scripts_status & USER_SCRIPTS_MERGED) != 0)
/* IMPORTANT: If you make any changes to the rivet_server_conf struct,
- * you need to make the appropriate modinficationus to Rivet_CopyConfig,
+ * you need to make the appropriate modifications to Rivet_CopyConfig,
* Rivet_CreateConfig, Rivet_MergeConfig and so on. */
/*
* Petasis 10 Aug 2017: This causes the symbol to be exported also from MPMs...
-module AP_MODULE_DECLARE_DATA rivet_module;
- */
+
+ module AP_MODULE_DECLARE_DATA rivet_module;
+
+*/
typedef struct _rivet_server_conf {
---------------------------------------------------------------------
To unsubscribe, e-mail: site-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: site-cvs-help@tcl.apache.org