summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjcej <jcej@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-03 21:56:35 +0000
committerjcej <jcej@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-03 21:56:35 +0000
commita97f2f1e84292cf61bae7fd4ffb2a797547edc45 (patch)
treea851f12c57bf0017e2362b6ee7d9d1d60e4354b6
parentfb9958dfe85fbd1c429fb7ee1a3dbddf1e778229 (diff)
downloadATCD-a97f2f1e84292cf61bae7fd4ffb2a797547edc45.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-99b9
-rw-r--r--docs/tutorials/002/page02.html12
-rw-r--r--docs/tutorials/002/page03.html8
-rw-r--r--docs/tutorials/003/page01.html2
-rw-r--r--docs/tutorials/004/page01.html4
-rw-r--r--docs/tutorials/005/page03.html6
-rw-r--r--docs/tutorials/005/page04.html6
-rw-r--r--docs/tutorials/005/page06.html2
-rw-r--r--docs/tutorials/006/page03.html6
-rw-r--r--docs/tutorials/006/page04.html6
-rw-r--r--docs/tutorials/006/page05.html4
-rw-r--r--docs/tutorials/007/page03.html6
-rw-r--r--docs/tutorials/007/page04.html2
-rw-r--r--docs/tutorials/007/page05.html6
-rw-r--r--docs/tutorials/007/page07.html4
-rw-r--r--docs/tutorials/007/page08.html2
-rw-r--r--docs/tutorials/008/page02.html4
-rw-r--r--docs/tutorials/008/page03.html4
-rw-r--r--docs/tutorials/008/page04.html4
-rw-r--r--docs/tutorials/009/page02.html4
-rw-r--r--docs/tutorials/009/page03.html4
-rw-r--r--docs/tutorials/009/page04.html4
-rw-r--r--docs/tutorials/010/page03.html4
-rw-r--r--docs/tutorials/010/page04.html4
-rw-r--r--docs/tutorials/011/page03.html4
-rw-r--r--docs/tutorials/012/page02.html4
-rw-r--r--docs/tutorials/012/page05.html4
-rw-r--r--docs/tutorials/013/page03.html6
-rw-r--r--docs/tutorials/013/page04.html6
-rw-r--r--docs/tutorials/013/page06.html4
-rw-r--r--docs/tutorials/013/page07.html7
-rw-r--r--docs/tutorials/015/page03.html4
-rw-r--r--docs/tutorials/015/page04.html6
-rw-r--r--docs/tutorials/015/page05.html2
-rw-r--r--docs/tutorials/015/page06.html6
-rw-r--r--docs/tutorials/015/page08.html6
-rw-r--r--docs/tutorials/015/page10.html6
-rw-r--r--docs/tutorials/015/page11.html2
-rw-r--r--docs/tutorials/015/page12.html4
-rw-r--r--docs/tutorials/015/page15.html2
-rw-r--r--docs/tutorials/015/page17.html2
-rw-r--r--docs/tutorials/015/page19.html2
-rw-r--r--docs/tutorials/015/page21.html2
-rw-r--r--docs/tutorials/016/page02.html2
-rw-r--r--docs/tutorials/016/page04.html2
-rw-r--r--docs/tutorials/017/page02.html2
-rw-r--r--docs/tutorials/017/page03.html2
-rw-r--r--docs/tutorials/017/page05.html3
-rw-r--r--docs/tutorials/017/page06.html5
-rw-r--r--docs/tutorials/018/page03.html2
-rw-r--r--docs/tutorials/018/page04.html2
-rw-r--r--docs/tutorials/018/page05.html2
-rw-r--r--docs/tutorials/019/combine.shar45
-rw-r--r--docs/tutorials/019/page01.html23
-rw-r--r--docs/tutorials/019/page02.html2
-rw-r--r--docs/tutorials/019/page05.html2
-rw-r--r--docs/tutorials/020/combine.shar37
-rw-r--r--docs/tutorials/020/page01.html21
-rw-r--r--docs/tutorials/020/page05.html2
-rw-r--r--docs/tutorials/021/combine.shar125
-rw-r--r--docs/tutorials/021/page01.html36
61 files changed, 361 insertions, 150 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b
index c15ce49adcd..b0920942e3b 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,3 +1,12 @@
+Sat Apr 3 17:02:48 1999 James CE Johnson <jcej@chiroptera.tragus.org>
+
+ * docs/tutorials/*: Regenerated all the HTML to get the hyperlinks
+ into the various headers. I'm sure somebody will let me know if I
+ munged it all.
+
+ * docs/tutorials/(019|020|021) : Finally made myself sit down and
+ add Kirthika's last abstracts.
+
Sat Apr 3 15:27:07 1999 Ossama Othman <othman@cs.wustl.edu>
* Makefile.am
diff --git a/docs/tutorials/002/page02.html b/docs/tutorials/002/page02.html
index d886ad2a30c..3670c1851c2 100644
--- a/docs/tutorials/002/page02.html
+++ b/docs/tutorials/002/page02.html
@@ -66,9 +66,9 @@ the various ACE components judiciously.
<font color=red>/* As before, we need a few ACE objects as well as our Logging_Handler
declaration. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Acceptor.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Acceptor.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Reactor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Acceptor.h">ace/Acceptor.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Acceptor.h">ace/SOCK_Acceptor.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Reactor.h">ace/Reactor.h</A>"
<font color=blue>#include</font> "<font color=green>handler.h</font>"
<font color=red>/* We'll still use the global reactor pointer. There's a snappy way
@@ -85,11 +85,15 @@ typedef ACE_Acceptor &lt;Logging_Handler, ACE_SOCK_ACCEPTOR> Logging_Acceptor;
<font color=red>/* One of the new things will be a signal handler so that we can exit
the application somewhat cleanly. The 'finished' flag is used
instead of the previous infninite loop and the 'handler' will set
- that flag in respose to SIGINT (CTRL-C). */</font>
+ that flag in respose to SIGINT (CTRL-C).
+ The invocation of <font color=#008888>ACE_Reactor::notify</font>() will cause the
+ handle_events() to return so that we can see the new value of 'finished'.
+*/</font>
static sig_atomic_t finished = 0;
extern "<font color=green>C</font>" void handler (int)
{
finished = 1;
+ g_reactor->notify();
}
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/002/page03.html b/docs/tutorials/002/page03.html
index 365e64d0888..f06a3e5463f 100644
--- a/docs/tutorials/002/page03.html
+++ b/docs/tutorials/002/page03.html
@@ -26,14 +26,14 @@
<font color=blue>#ifndef</font> <font color=purple>LOGGING_HANDLER_H</font>
<font color=blue>#define</font> <font color=purple>LOGGING_HANDLER_H</font>
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Reactor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Reactor.h">ace/Reactor.h</A>"
<font color=red>/* Since we used the template to create the acceptor, we don't know if
there is a way to get to the reactor it uses. We'll take the easy
diff --git a/docs/tutorials/003/page01.html b/docs/tutorials/003/page01.html
index c68855784bb..abf72ebe40f 100644
--- a/docs/tutorials/003/page01.html
+++ b/docs/tutorials/003/page01.html
@@ -46,7 +46,7 @@ Kirthika says, "Here's an one paragraph abstract for a one page client app:"
<font color=red>/* To establish a socket connection to a server, we'll need an
ACE_SOCK_Connector. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Connector.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Connector.h">ace/SOCK_Connector.h</A>"
<font color=red>/* Unlike the previous two tutorials, we're going to allow the user to
provide command line options this time. Still, we need defaults in
diff --git a/docs/tutorials/004/page01.html b/docs/tutorials/004/page01.html
index 13a93255949..12dd8716949 100644
--- a/docs/tutorials/004/page01.html
+++ b/docs/tutorials/004/page01.html
@@ -36,8 +36,8 @@ successfully interacts with the server when connection is established.
<font color=red>/* We need the connector object & we also bring in a simple string
class. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Connector.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SString.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Connector.h">ace/SOCK_Connector.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SString.h">ace/SString.h</A>"
<font color=red>/* In this tutorial, we extend SOCK_Stream by adding a few wrappers
around the send_n() method. */</font>
diff --git a/docs/tutorials/005/page03.html b/docs/tutorials/005/page03.html
index cbc91cb4600..c190dfe9839 100644
--- a/docs/tutorials/005/page03.html
+++ b/docs/tutorials/005/page03.html
@@ -40,15 +40,15 @@ with an object type to instantiate when a new connection arrives.
ACE objects and the headers where they can be found. In general,
the ACE object ACE_Foobar will be found in ace/Foobar.h. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Acceptor.h">ace/Acceptor.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* Since we want to work with sockets, we'll need a SOCK_Acceptor to
allow the clients to connect to us. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Acceptor.h">ace/SOCK_Acceptor.h</A>"
<font color=red>/* The Client_Handler object we develop will be used to handle clients
once they're connected. The ACE_Acceptor&lt;> template's first
diff --git a/docs/tutorials/005/page04.html b/docs/tutorials/005/page04.html
index b455d636917..fb670bbe7a3 100644
--- a/docs/tutorials/005/page04.html
+++ b/docs/tutorials/005/page04.html
@@ -44,13 +44,13 @@ the definition where all of the real work of the application takes place.
a derivative of ACE_Event_Handler) some of those details are
handled for you. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Svc_Handler.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Svc_Handler.h">ace/Svc_Handler.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=red>/* Another feature of ACE_Svc_Handler is it's ability to present the
ACE_Task&lt;> interface as well. That's what the ACE_NULL_SYNCH
diff --git a/docs/tutorials/005/page06.html b/docs/tutorials/005/page06.html
index 8bf4bef5090..9fbe678e023 100644
--- a/docs/tutorials/005/page06.html
+++ b/docs/tutorials/005/page06.html
@@ -104,7 +104,7 @@ Indent : #
# directly into the Makefile. I prefer my Makefile to stay clean and
# uncluttered. The perl script referenced here pulls the dependency
# stuff back out of the Makefile and into a file "<font color=green>.depend</font>" which we then
- # include just like the makefile components above.
+ <font color=blue># include</font> just like the makefile components above.
#
# NOTE: The 'depend' target expects to have GCC available.
# You can do the same thing with other compilers but the ACE
diff --git a/docs/tutorials/006/page03.html b/docs/tutorials/006/page03.html
index 08e5b70c78b..e5616cb514b 100644
--- a/docs/tutorials/006/page03.html
+++ b/docs/tutorials/006/page03.html
@@ -36,15 +36,15 @@ to the Tutorial 5 version of this file.
ACE objects and the headers where they can be found. In general,
the ACE object ACE_Foobar will be found in ace/Foobar.h. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Acceptor.h">ace/Acceptor.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* Since we want to work with sockets, we'll need a SOCK_Acceptor to
allow the clients to connect to us. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Acceptor.h">ace/SOCK_Acceptor.h</A>"
<font color=red>/* The Client_Handler object we develop will be used to handle clients
once they're connected. The ACE_Acceptor&lt;> template's first
diff --git a/docs/tutorials/006/page04.html b/docs/tutorials/006/page04.html
index 0c5ddce2758..caa8c2f0bed 100644
--- a/docs/tutorials/006/page04.html
+++ b/docs/tutorials/006/page04.html
@@ -41,13 +41,13 @@ exist.
*/</font>
-<font color=blue>#include</font> "<font color=green>ace/Svc_Handler.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Svc_Handler.h">ace/Svc_Handler.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=red>/* Another feature of ACE_Svc_Handler is it's ability to present the
ACE_Task&lt;> interface as well. That's what the ACE_NULL_SYNCH
diff --git a/docs/tutorials/006/page05.html b/docs/tutorials/006/page05.html
index 083f6ef0dcb..aa323cdc952 100644
--- a/docs/tutorials/006/page05.html
+++ b/docs/tutorials/006/page05.html
@@ -84,7 +84,7 @@ void
The Client_Acceptor instance pointer is cast to a void* and given
to us here. We'll use that to avoid some global data... */</font>
int
-<font color=#008888>Client_Handler::open</font> (void *acceptor)
+<font color=#008888>Client_Handler::open</font> (void *void_acceptor)
{
<font color=red>/* We need this to store the address of the client that we are now
connected to. We'll use it later to display a debug message. */</font>
@@ -111,7 +111,7 @@ int
without compiler warnings be very sure of what you're doing when
you do this kind of thing. That's where the new-style cast
operators can save you. */</font>
- Client_Acceptor *acceptor = (Client_Acceptor *) acceptor;
+ Client_Acceptor *acceptor = (Client_Acceptor *) void_acceptor;
<font color=red>/* Our Client_Acceptor is constructed with a concurrency strategy.
Here, we go back to it to find out what that strategy was. If
diff --git a/docs/tutorials/007/page03.html b/docs/tutorials/007/page03.html
index 2040717c810..fd94b553c56 100644
--- a/docs/tutorials/007/page03.html
+++ b/docs/tutorials/007/page03.html
@@ -28,15 +28,15 @@
ACE objects and the headers where they can be found. In general,
the ACE object ACE_Foobar will be found in ace/Foobar.h. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Acceptor.h">ace/Acceptor.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* Since we want to work with sockets, we'll need a SOCK_Acceptor to
allow the clients to connect to us. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Acceptor.h">ace/SOCK_Acceptor.h</A>"
<font color=red>/* The Client_Handler object we develop will be used to handle clients
once they're connected. The ACE_Acceptor&lt;> template's first
diff --git a/docs/tutorials/007/page04.html b/docs/tutorials/007/page04.html
index df7d777c660..dbd16330e07 100644
--- a/docs/tutorials/007/page04.html
+++ b/docs/tutorials/007/page04.html
@@ -34,7 +34,7 @@ I finally had enough code to move it out of the header.
<font color=red>/* Construct ourselves with a reference to somebody else' Thread_Pool.
Obvioulsy our concurrency strategy is "<font color=green>thread_pool_</font>" at this point. */</font>
<font color=#008888>Client_Acceptor::Client_Acceptor</font> (Thread_Pool &thread_pool)
- : concurrency_ (thread_pool),
+ : concurrency_ (thread_pool_),
the_thread_pool_ (thread_pool)
{
}
diff --git a/docs/tutorials/007/page05.html b/docs/tutorials/007/page05.html
index 2a62b00a0a2..9c2264e6e7d 100644
--- a/docs/tutorials/007/page05.html
+++ b/docs/tutorials/007/page05.html
@@ -35,13 +35,13 @@ is next.
a derivative of ACE_Event_Handler) some of those details are
handled for you. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Svc_Handler.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Svc_Handler.h">ace/Svc_Handler.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
class Client_Acceptor;
class Thread_Pool;
diff --git a/docs/tutorials/007/page07.html b/docs/tutorials/007/page07.html
index 0364eccd176..7b31b7d09e7 100644
--- a/docs/tutorials/007/page07.html
+++ b/docs/tutorials/007/page07.html
@@ -29,10 +29,10 @@ to make so few changes to the rest of the code.
<font color=red>/* In order to implement a thread pool, we have to have an object that
can create a thread. The ACE_Task&lt;> is the basis for doing just
such a thing. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* We need a forward reference for ACE_Event_Handler so that our
diff --git a/docs/tutorials/007/page08.html b/docs/tutorials/007/page08.html
index 18ee6968ece..f3b7a1d1b6e 100644
--- a/docs/tutorials/007/page08.html
+++ b/docs/tutorials/007/page08.html
@@ -25,7 +25,7 @@ where we have the Thread_Pool object implementation.
<font color=red>/* We need this header so that we can invoke handle_input() on the
objects we dequeue. */</font>
-<font color=blue>#include</font> "<font color=green>ace/Event_Handler.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Event_Handler.h">ace/Event_Handler.h</A>"
<font color=red>/* All we do here is initialize our active thread counter. */</font>
<font color=#008888>Thread_Pool::Thread_Pool</font> (void)
diff --git a/docs/tutorials/008/page02.html b/docs/tutorials/008/page02.html
index 0a95d1a2be7..c501c12bad9 100644
--- a/docs/tutorials/008/page02.html
+++ b/docs/tutorials/008/page02.html
@@ -29,8 +29,8 @@ it responds to.&nbsp; We'll tackle that issue in the next tutorial though...
<font color=red>/* Our datagram server will, of course, need to create a datagram.
We'll also need an address object so that we know where to listen. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram.h">ace/SOCK_Dgram.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
<font color=red>/* Use the typical TCP/IP port address for receiving datagrams. */</font>
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/008/page03.html b/docs/tutorials/008/page03.html
index e33c396ec63..36c58e4d3c5 100644
--- a/docs/tutorials/008/page03.html
+++ b/docs/tutorials/008/page03.html
@@ -27,8 +27,8 @@ could be written this way.
<PRE>
<font color=red>// $Id$</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram.h">ace/SOCK_Dgram.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
<font color=red>/* Once again, we use the default server port. In a "<font color=green>real</font>" system,
the server's port (or ports) would be published in some way so that
diff --git a/docs/tutorials/008/page04.html b/docs/tutorials/008/page04.html
index 1d3bd52361d..faaaed77dce 100644
--- a/docs/tutorials/008/page04.html
+++ b/docs/tutorials/008/page04.html
@@ -27,8 +27,8 @@ subnet you're a part of.
<PRE>
<font color=red>// $Id$</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram_Bcast.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram_Bcast.h">ace/SOCK_Dgram_Bcast.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/009/page02.html b/docs/tutorials/009/page02.html
index 46d7007f2a9..7dd126f1273 100644
--- a/docs/tutorials/009/page02.html
+++ b/docs/tutorials/009/page02.html
@@ -28,8 +28,8 @@ we add in just a bit of code to examine the datagram contents before responding.
will prevent this server from responding to just any old datagram.
I'll limit my comments to those pieces of code. */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram.h">ace/SOCK_Dgram.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/009/page03.html b/docs/tutorials/009/page03.html
index d21c0fb2fed..61591c5c711 100644
--- a/docs/tutorials/009/page03.html
+++ b/docs/tutorials/009/page03.html
@@ -25,8 +25,8 @@ if the server doesn't like what we have to say.
<PRE>
<font color=red>// $Id$</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram.h">ace/SOCK_Dgram.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/009/page04.html b/docs/tutorials/009/page04.html
index dacc50c0215..0faedf88168 100644
--- a/docs/tutorials/009/page04.html
+++ b/docs/tutorials/009/page04.html
@@ -25,8 +25,8 @@ of the timeout variable passed to recv().
<PRE>
<font color=red>// $Id$</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Dgram_Bcast.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Dgram_Bcast.h">ace/SOCK_Dgram_Bcast.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
diff --git a/docs/tutorials/010/page03.html b/docs/tutorials/010/page03.html
index 33c62e6cc28..84d9b3bb6f0 100644
--- a/docs/tutorials/010/page03.html
+++ b/docs/tutorials/010/page03.html
@@ -25,10 +25,10 @@ that the message blocks to, indeed, get freed when we're done with 'em.
<font color=blue>#ifndef</font> <font color=purple>BLOCK_H</font>
<font color=blue>#define</font> <font color=purple>BLOCK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Message_Block.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Message_Block.h">ace/Message_Block.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* This simple ACE_Message_Block derivative will inform us of it's
diff --git a/docs/tutorials/010/page04.html b/docs/tutorials/010/page04.html
index 03c1951ed42..a36a8d8bd29 100644
--- a/docs/tutorials/010/page04.html
+++ b/docs/tutorials/010/page04.html
@@ -24,10 +24,10 @@ and reads from the message queue it contains.
<font color=blue>#ifndef</font> <font color=purple>TASK_H</font>
<font color=blue>#define</font> <font color=purple>TASK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* Like the thread-pool server tutorial, we'll derive from ACE_Task&lt;>.
diff --git a/docs/tutorials/011/page03.html b/docs/tutorials/011/page03.html
index fcee526abbd..78b9c5ebb53 100644
--- a/docs/tutorials/011/page03.html
+++ b/docs/tutorials/011/page03.html
@@ -27,10 +27,10 @@ I've only commented the changes.
<font color=blue>#ifndef</font> <font color=purple>TASK_H</font>
<font color=blue>#define</font> <font color=purple>TASK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
class Task : public ACE_Task &lt;ACE_MT_SYNCH>
diff --git a/docs/tutorials/012/page02.html b/docs/tutorials/012/page02.html
index 2742e9954d2..67d93863d18 100644
--- a/docs/tutorials/012/page02.html
+++ b/docs/tutorials/012/page02.html
@@ -26,10 +26,10 @@ and it's baseclass Unit_Of_Work
<font color=blue>#ifndef</font> <font color=purple>WORK_H</font>
<font color=blue>#define</font> <font color=purple>WORK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Message_Block.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Message_Block.h">ace/Message_Block.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/*
diff --git a/docs/tutorials/012/page05.html b/docs/tutorials/012/page05.html
index 7e5be17d446..dba97f08c41 100644
--- a/docs/tutorials/012/page05.html
+++ b/docs/tutorials/012/page05.html
@@ -27,10 +27,10 @@ isn't very large.
<font color=blue>#ifndef</font> <font color=purple>TASK_H</font>
<font color=blue>#define</font> <font color=purple>TASK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/*
diff --git a/docs/tutorials/013/page03.html b/docs/tutorials/013/page03.html
index 3bb955c2b29..05264a8b6aa 100644
--- a/docs/tutorials/013/page03.html
+++ b/docs/tutorials/013/page03.html
@@ -50,13 +50,13 @@ Simple, cheap, effective.
<font color=blue>#ifndef</font> <font color=purple>MLD_H</font>
<font color=blue>#define</font> <font color=purple>MLD_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Synch.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Synch.h">ace/Synch.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/Singleton.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Singleton.h">ace/Singleton.h</A>"
<font color=red>/*
This is a cheap memory leak detector. Each class I want to watch over
diff --git a/docs/tutorials/013/page04.html b/docs/tutorials/013/page04.html
index a52dbdba587..3e3b8f5d56e 100644
--- a/docs/tutorials/013/page04.html
+++ b/docs/tutorials/013/page04.html
@@ -43,13 +43,13 @@ since the actual data is not copied.
<font color=blue>#ifndef</font> <font color=purple>BLOCK_H</font>
<font color=blue>#define</font> <font color=purple>BLOCK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Message_Block.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Message_Block.h">ace/Message_Block.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/Synch.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Synch.h">ace/Synch.h</A>"
<font color=blue>#include</font> "<font color=green>mld.h</font>"
<font color=blue>#include</font> "<font color=green>work.h</font>"
diff --git a/docs/tutorials/013/page06.html b/docs/tutorials/013/page06.html
index 14d1cbb8402..4e2ccf5c255 100644
--- a/docs/tutorials/013/page06.html
+++ b/docs/tutorials/013/page06.html
@@ -41,10 +41,10 @@ on this one page.
<font color=blue>#ifndef</font> <font color=purple>TASK_H</font>
<font color=blue>#define</font> <font color=purple>TASK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=blue>#include</font> "<font color=green>mld.h</font>"
diff --git a/docs/tutorials/013/page07.html b/docs/tutorials/013/page07.html
index 983878e676a..509e326adf9 100644
--- a/docs/tutorials/013/page07.html
+++ b/docs/tutorials/013/page07.html
@@ -48,13 +48,13 @@ cpp file as with task.
<font color=blue>#ifndef</font> <font color=purple>WORK_H</font>
<font color=blue>#define</font> <font color=purple>WORK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Log_Msg.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Log_Msg.h">ace/Log_Msg.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/Synch.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Synch.h">ace/Synch.h</A>"
<font color=blue>#include</font> "<font color=green>mld.h</font>"
<font color=red>/*
@@ -234,6 +234,7 @@ int <font color=#008888>Work::fini</font> (void)
{
while (state_.value () &lt; 3)
{
+ ACE_DEBUG ((LM_DEBUG, "<font color=green>(%P|%t) 0x%x <font color=#008888>Work::fini</font>() state %d\n</font>", (void *) this,state_.value()));
if (this->process () == -1)
{
ACE_ERROR_RETURN ((LM_ERROR, "<font color=green>%p\n</font>", "<font color=green>process</font>"), -1);
diff --git a/docs/tutorials/015/page03.html b/docs/tutorials/015/page03.html
index 04f091d497d..ca92ec3cbcd 100644
--- a/docs/tutorials/015/page03.html
+++ b/docs/tutorials/015/page03.html
@@ -24,10 +24,10 @@ The Client object is designed to hide all of the messy connection
<font color=blue>#ifndef</font> <font color=purple>CLIENT_H</font>
<font color=blue>#define</font> <font color=purple>CLIENT_H</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=blue>#include</font> "<font color=green>Protocol_Stream.h</font>"
diff --git a/docs/tutorials/015/page04.html b/docs/tutorials/015/page04.html
index f4c655e4f8f..b538dc65bc8 100644
--- a/docs/tutorials/015/page04.html
+++ b/docs/tutorials/015/page04.html
@@ -21,9 +21,9 @@ The implementation of the Client object. Only the open() method
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Client_i.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Message_Block.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/INET_Addr.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Connector.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Message_Block.h">ace/Message_Block.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/INET_Addr.h">ace/INET_Addr.h</A>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Connector.h">ace/SOCK_Connector.h</A>"
<font color=red>// Simple constructor just remembers the endpoint information for use by open.</font>
<font color=#008888>Client::Client</font>( u_short _port, const char * _server)
diff --git a/docs/tutorials/015/page05.html b/docs/tutorials/015/page05.html
index eddb65d8579..dbfe16e91d7 100644
--- a/docs/tutorials/015/page05.html
+++ b/docs/tutorials/015/page05.html
@@ -24,7 +24,7 @@ simplification.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Server_i.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Select_Reactor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Select_Reactor.h">ace/Select_Reactor.h</A>"
<font color=red>// A signal handler that will close the server object</font>
extern "<font color=green>C</font>" void handler (int)
diff --git a/docs/tutorials/015/page06.html b/docs/tutorials/015/page06.html
index 82b28a3f572..8ffa8bdb12e 100644
--- a/docs/tutorials/015/page06.html
+++ b/docs/tutorials/015/page06.html
@@ -27,13 +27,13 @@ that's probably a valid assumption!
<font color=blue>#ifndef</font> <font color=purple>SERVER_H</font>
<font color=blue>#define</font> <font color=purple>SERVER_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Acceptor.h">ace/Acceptor.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Acceptor.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Acceptor.h">ace/SOCK_Acceptor.h</A>"
<font color=blue>#include</font> "<font color=green>Handler.h</font>"
<font color=red>/* Anytime I have templates I try to remember to create a typedef for
diff --git a/docs/tutorials/015/page08.html b/docs/tutorials/015/page08.html
index ed60a976839..127bab8f00c 100644
--- a/docs/tutorials/015/page08.html
+++ b/docs/tutorials/015/page08.html
@@ -28,13 +28,13 @@ processing. Again, keep it simple and delegate authority.
<font color=blue>#ifndef</font> <font color=purple>HANDLER_H</font>
<font color=blue>#define</font> <font color=purple>HANDLER_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Svc_Handler.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Svc_Handler.h">ace/Svc_Handler.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=blue>#include</font> "<font color=green>Protocol_Stream.h</font>"
<font color=red>/* Just your basic event handler. We use ACE_Svc_Handler&lt;> as a
diff --git a/docs/tutorials/015/page10.html b/docs/tutorials/015/page10.html
index 5dc3711f0ba..3d012c0e970 100644
--- a/docs/tutorials/015/page10.html
+++ b/docs/tutorials/015/page10.html
@@ -40,13 +40,13 @@ going on here.
<font color=blue>#ifndef</font> <font color=purple>PROTOCOL_STREAM_H</font>
<font color=blue>#define</font> <font color=purple>PROTOCOL_STREAM_H</font>
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
-<font color=blue>#include</font> "<font color=green>ace/Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Stream.h">ace/Stream.h</A>"
<font color=red>// Shorthand for the stream.</font>
typedef ACE_Stream&lt;ACE_MT_SYNCH> Stream;
diff --git a/docs/tutorials/015/page11.html b/docs/tutorials/015/page11.html
index e03f1a5f7fe..31eb52bac2d 100644
--- a/docs/tutorials/015/page11.html
+++ b/docs/tutorials/015/page11.html
@@ -30,7 +30,7 @@ concern in this file is to get everything in the correct order!
<font color=blue>#include</font> "<font color=green>Compressor.h</font>"
<font color=blue>#include</font> "<font color=green>Crypt.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Stream_Modules.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Stream_Modules.h">ace/Stream_Modules.h</A>"
<font color=red>/* You can choose at compile time to include/exclude the protocol
pieces.
diff --git a/docs/tutorials/015/page12.html b/docs/tutorials/015/page12.html
index 07b36c3c9aa..93358494a85 100644
--- a/docs/tutorials/015/page12.html
+++ b/docs/tutorials/015/page12.html
@@ -20,10 +20,10 @@ A quick look at the Protocol_Task header...
<font color=blue>#ifndef</font> <font color=purple>PROTOCOL_TASK_H</font>
<font color=blue>#define</font> <font color=purple>PROTOCOL_TASK_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=blue>#if !defined</font> (<font color=purple>ACE_LACKS_PRAGMA_ONCE</font>)
-# pragma once
+<font color=blue># pragma</font> <font color=purple>once</font>
<font color=blue>#endif</font> <font color=red>/* ACE_LACKS_PRAGMA_ONCE */</font>
<font color=red>/* A typical ACE_Task&lt;> derivative that adds a few things appropriate
diff --git a/docs/tutorials/015/page15.html b/docs/tutorials/015/page15.html
index bcc7a7aa207..66e4f1bf852 100644
--- a/docs/tutorials/015/page15.html
+++ b/docs/tutorials/015/page15.html
@@ -33,7 +33,7 @@ streams of data.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Xmit.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=red>/* Construct the object with the peer connection and choose not to
activate ourselves into a dedicated thread. You might get some
diff --git a/docs/tutorials/015/page17.html b/docs/tutorials/015/page17.html
index 625bf84110c..3a07c2eca89 100644
--- a/docs/tutorials/015/page17.html
+++ b/docs/tutorials/015/page17.html
@@ -22,7 +22,7 @@ basic stuff.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Recv.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=red>/* Construct the object with the peer reference and other appropriate
initializations.
diff --git a/docs/tutorials/015/page19.html b/docs/tutorials/015/page19.html
index e8689ebf9d7..2b62ec0bdb3 100644
--- a/docs/tutorials/015/page19.html
+++ b/docs/tutorials/015/page19.html
@@ -22,7 +22,7 @@ things more difficult if something has to change in their interaction.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Compressor.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=#008888>Compressor::Compressor</font>( void )
: Protocol_Task()
diff --git a/docs/tutorials/015/page21.html b/docs/tutorials/015/page21.html
index 951064b6922..a1aced14565 100644
--- a/docs/tutorials/015/page21.html
+++ b/docs/tutorials/015/page21.html
@@ -21,7 +21,7 @@ favorite library.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Crypt.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/SOCK_Stream.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/SOCK_Stream.h">ace/SOCK_Stream.h</A>"
<font color=red>/* The expected constructor...
*/</font>
diff --git a/docs/tutorials/016/page02.html b/docs/tutorials/016/page02.html
index bda581108e5..21d9b282e4c 100644
--- a/docs/tutorials/016/page02.html
+++ b/docs/tutorials/016/page02.html
@@ -63,7 +63,7 @@ condition to occur.
<font color=blue>#ifndef</font> <font color=purple>CONDITION_H</font>
<font color=blue>#define</font> <font color=purple>CONDITION_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Synch.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Synch.h">ace/Synch.h</A>"
<font color=red>/** A wrapper for ACE_Condition&lt;>. When you're using an
ACE_Condition&lt;> you have to have three things: - Some variable
diff --git a/docs/tutorials/016/page04.html b/docs/tutorials/016/page04.html
index 654790d6594..c9cc4dc6b4b 100644
--- a/docs/tutorials/016/page04.html
+++ b/docs/tutorials/016/page04.html
@@ -23,7 +23,7 @@ three related member variables.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Condition_i.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=red>/* In order to test our Condition we'll derive from ACE_Task&lt;> so that
we can have several threads accessing the condition variable
diff --git a/docs/tutorials/017/page02.html b/docs/tutorials/017/page02.html
index b8762d9e392..fd6b3a1717c 100644
--- a/docs/tutorials/017/page02.html
+++ b/docs/tutorials/017/page02.html
@@ -26,7 +26,7 @@ application-level details.
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Barrier_i.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=red>/* We'll use a simple Task&lt;> derivative to test our new Barrier
object.
diff --git a/docs/tutorials/017/page03.html b/docs/tutorials/017/page03.html
index 6350fb1ca1f..3649337655b 100644
--- a/docs/tutorials/017/page03.html
+++ b/docs/tutorials/017/page03.html
@@ -31,7 +31,7 @@ the Barrier object almost as a "synchronization guard".
<font color=blue>#ifndef</font> <font color=purple>BARRIER_H</font>
<font color=blue>#define</font> <font color=purple>BARRIER_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Synch.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Synch.h">ace/Synch.h</A>"
<font color=red>/* Barrier is a simple wrapper for the ACE_Barrier synchronization
class. The ACE_Barrier is already pretty easy to use but I thought
diff --git a/docs/tutorials/017/page05.html b/docs/tutorials/017/page05.html
index c3aeb61918f..f5be1185260 100644
--- a/docs/tutorials/017/page05.html
+++ b/docs/tutorials/017/page05.html
@@ -25,5 +25,6 @@ enhancements will gladly be integrated into the Tutorial.
<HR>
Before we call it a wrap though, there's one more thing I want to show
you. Remember the comments around Barrier::threads()? On the next
-page, I'll show you how to synch up when the number of threads changes.<P><HR WIDTH="100%">
+page, I'll show you how to synch up when the number of threads changes.
+<P><HR WIDTH="100%">
<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page06.html">Continue This Tutorial</A>]</CENTER>
diff --git a/docs/tutorials/017/page06.html b/docs/tutorials/017/page06.html
index 1d80cfbd4d4..1bd396d156e 100644
--- a/docs/tutorials/017/page06.html
+++ b/docs/tutorials/017/page06.html
@@ -19,12 +19,13 @@ When we notice that, we use the barrier to wait until everything
stabilizes and then we recalibrate and move on.
<P>
The source is <A HREF="barrier2.cpp">here</A>.
-<HR><PRE>
+<HR>
+<PRE>
<font color=red>// $Id$</font>
<font color=blue>#include</font> "<font color=green>Barrier_i.h</font>"
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=red>/* We'll use a simple Task&lt;> derivative to test our new Barrier
object.
diff --git a/docs/tutorials/018/page03.html b/docs/tutorials/018/page03.html
index 5eccee967ae..100b332e1fb 100644
--- a/docs/tutorials/018/page03.html
+++ b/docs/tutorials/018/page03.html
@@ -43,7 +43,7 @@ yourself a lot of time!
<font color=blue>#ifndef</font> <font color=purple>TEST_T_H</font>
<font color=blue>#define</font> <font color=purple>TEST_T_H</font>
-<font color=blue>#include</font> "<font color=green>ace/Task.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Task.h">ace/Task.h</A>"
<font color=red>/* We'll create a simple ACE_Task derivative for testing a couple of
different locking mechanisms. We've hidden the open() method to
diff --git a/docs/tutorials/018/page04.html b/docs/tutorials/018/page04.html
index 639732eb7e8..b83ab46f653 100644
--- a/docs/tutorials/018/page04.html
+++ b/docs/tutorials/018/page04.html
@@ -132,7 +132,7 @@ Test_T&lt;MUTEX>::send (ACE_Message_Block *message)
template &lt;class MUTEX> int
Test_T&lt;MUTEX>::open (void *arg)
{
- ACE_UNUSED_ARG(_arg);
+ ACE_UNUSED_ARG(arg);
return this->activate (THR_NEW_LWP,
TEST_THREAD_COUNT);
}
diff --git a/docs/tutorials/018/page05.html b/docs/tutorials/018/page05.html
index 8304aa67104..fb846de5e37 100644
--- a/docs/tutorials/018/page05.html
+++ b/docs/tutorials/018/page05.html
@@ -27,7 +27,7 @@ retyping and certainly much less chance of error!
<font color=blue>#include</font> "<font color=green>Test_T.h</font>"
<font color=red>// Go get ace/Token.h so that we know what an ACE_Token is.</font>
-<font color=blue>#include</font> "<font color=green>ace/Token.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Token.h">ace/Token.h</A>"
<font color=red>/* Create a very simple derivative of our Test template. All we have
to do is provide our mutex choice and a name.
diff --git a/docs/tutorials/019/combine.shar b/docs/tutorials/019/combine.shar
index 1b4fd263723..d05038bee74 100644
--- a/docs/tutorials/019/combine.shar
+++ b/docs/tutorials/019/combine.shar
@@ -3,7 +3,7 @@
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
-# Made on 1998-12-28 16:29 EST by <jcej@chiroptera.tragus.org>.
+# Made on 1999-04-03 17:08 EST by <jcej@chiroptera.tragus.org>.
# Source directory was `/var/home/jcej/projects/ACE_wrappers/docs/tutorials/019'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
@@ -13,7 +13,7 @@
# ------ ---------- ------------------------------------------
# 409 -rw-rw-r-- hdr
# 71 -rw-rw-r-- bodies
-# 1161 -rw-rw-r-- page01.pre
+# 2009 -rw-rw-r-- page01.pre
# 563 -rw-rw-r-- page02.pre
# 219 -rw-rw-r-- page03.pre
# 676 -rw-rw-r-- page04.pre
@@ -65,7 +65,7 @@ else
fi
rm -f 1231235999 $$.touch
#
-if mkdir _sh06808; then
+if mkdir _sh12976; then
$echo 'x -' 'creating lock directory'
else
$echo 'failed to create lock directory'
@@ -152,7 +152,7 @@ X doing this, we can allow our applications to swap data very
X efficiently.
X <p>
X Along the way, we'll have to come up with some sort of
-X coordintation betweent the processes. That is the most
+X coordination betweent the processes. That is the most
X difficult part of a shared memory system. In the tutorial we're
X just going to take a simplistic approach (eg -- busy loop) but
X real-world applications will need to take a serious look at
@@ -163,20 +163,41 @@ X myself. This tutorial and the next are very simple-minded and
X primitive. Anyone who wants to provide more realistic
X replacements is encouraged to drop me a note
X (<A HREF="mailto:jcej@lads.com">jcej@lads.com</A>).
+<P>
+A tutorial wouldn't be complete without Kirthika's abstract:
+<UL>
+This tutorial shows how to use memory as a shared resource between the
+client and server processes. ACE_Shared_Memory_SV has been used for
+creating
+the shared memory segment. Two different approaches have been used. One
+uses the malloc () method to allocate memory while the other uses the
+placement new expression (C++) of allocating a memory chunk in advance
+and using it on demand.
+<P>
+The server has a string of alphabets from a-z which are converted to
+uppercase
+by the client proving that the same memory locations are being shared
+between
+the two processes. The syncronisation between the server and client is
+done
+using the ACE_OS::sleep () instead of a semaphore/mutexes with the aim
+of keeping our first dive into shared memory usage simple and easy to
+fathom.
+</UL>
SHAR_EOF
- $shar_touch -am 1228154598 'page01.pre' &&
+ $shar_touch -am 0403170299 'page01.pre' &&
chmod 0664 'page01.pre' ||
$echo 'restore of' 'page01.pre' 'failed'
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page01.pre:' 'MD5 check failed'
-aef26c91d7b1ff2212e955be7e2d6ab9 page01.pre
+fae9aec33b3cc43e8c06d608e00adf2f page01.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page01.pre'`"
- test 1161 -eq "$shar_count" ||
- $echo 'page01.pre:' 'original size' '1161,' 'current size' "$shar_count!"
+ test 2009 -eq "$shar_count" ||
+ $echo 'page01.pre:' 'original size' '2009,' 'current size' "$shar_count!"
fi
fi
# ============= page02.pre ==============
@@ -185,7 +206,7 @@ if test -f 'page02.pre' && test "$first_param" != -c; then
else
$echo 'x -' extracting 'page02.pre' '(text)'
sed 's/^X//' << 'SHAR_EOF' > 'page02.pre' &&
-We'll first take a look at the server side. As ususal with
+We'll first take a look at the server side. As usual with
co-operating applications, you need the server up and running first.
In the case of shared memory applications, the server will create the
shared memory segment. In this example, it will also remove the
@@ -196,14 +217,14 @@ of persistence between application instances (at least, until the
machine comes down.)
<HR>
SHAR_EOF
- $shar_touch -am 1228154698 'page02.pre' &&
+ $shar_touch -am 0403170299 'page02.pre' &&
chmod 0664 'page02.pre' ||
$echo 'restore of' 'page02.pre' 'failed'
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page02.pre:' 'MD5 check failed'
-f651adc7b68da0c21b92c8a665980a18 page02.pre
+e6c9fee2eb20324a2f0504fb1c687ddd page02.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page02.pre'`"
@@ -333,5 +354,5 @@ SHAR_EOF
$echo 'page06.pre:' 'original size' '401,' 'current size' "$shar_count!"
fi
fi
-rm -fr _sh06808
+rm -fr _sh12976
exit 0
diff --git a/docs/tutorials/019/page01.html b/docs/tutorials/019/page01.html
index 2d74f78c874..1aa30b6aa2e 100644
--- a/docs/tutorials/019/page01.html
+++ b/docs/tutorials/019/page01.html
@@ -24,7 +24,7 @@
efficiently.
<p>
Along the way, we'll have to come up with some sort of
- coordintation betweent the processes. That is the most
+ coordination betweent the processes. That is the most
difficult part of a shared memory system. In the tutorial we're
just going to take a simplistic approach (eg -- busy loop) but
real-world applications will need to take a serious look at
@@ -35,5 +35,26 @@
primitive. Anyone who wants to provide more realistic
replacements is encouraged to drop me a note
(<A HREF="mailto:jcej@lads.com">jcej@lads.com</A>).
+<P>
+A tutorial wouldn't be complete without Kirthika's abstract:
+<UL>
+This tutorial shows how to use memory as a shared resource between the
+client and server processes. ACE_Shared_Memory_SV has been used for
+creating
+the shared memory segment. Two different approaches have been used. One
+uses the malloc () method to allocate memory while the other uses the
+placement new expression (C++) of allocating a memory chunk in advance
+and using it on demand.
+<P>
+The server has a string of alphabets from a-z which are converted to
+uppercase
+by the client proving that the same memory locations are being shared
+between
+the two processes. The syncronisation between the server and client is
+done
+using the ACE_OS::sleep () instead of a semaphore/mutexes with the aim
+of keeping our first dive into shared memory usage simple and easy to
+fathom.
+</UL>
<P><HR WIDTH="100%">
<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER>
diff --git a/docs/tutorials/019/page02.html b/docs/tutorials/019/page02.html
index 722797e6ba4..c9480da45ac 100644
--- a/docs/tutorials/019/page02.html
+++ b/docs/tutorials/019/page02.html
@@ -12,7 +12,7 @@
<P>
<HR WIDTH="100%">
-We'll first take a look at the server side. As ususal with
+We'll first take a look at the server side. As usual with
co-operating applications, you need the server up and running first.
In the case of shared memory applications, the server will create the
shared memory segment. In this example, it will also remove the
diff --git a/docs/tutorials/019/page05.html b/docs/tutorials/019/page05.html
index 7611341ac98..60bc8c938d4 100644
--- a/docs/tutorials/019/page05.html
+++ b/docs/tutorials/019/page05.html
@@ -24,7 +24,7 @@
<font color=blue>#define</font> <font color=purple>SHMEM_H</font>
<font color=red>// This is where you'll find the ACE_Shared_Memory_SV object</font>
-<font color=blue>#include</font> "<font color=green>ace/Shared_Memory_SV.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Shared_Memory_SV.h">ace/Shared_Memory_SV.h</A>"
<font color=red>// SHMSZ is just enough for the alphabet and a null terminator</font>
<font color=blue>#define</font> <font color=purple>SHMSZ</font> 27
diff --git a/docs/tutorials/020/combine.shar b/docs/tutorials/020/combine.shar
index 187ff0fadcb..fa330caeede 100644
--- a/docs/tutorials/020/combine.shar
+++ b/docs/tutorials/020/combine.shar
@@ -3,7 +3,7 @@
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
-# Made on 1998-12-28 18:00 EST by <jcej@chiroptera.tragus.org>.
+# Made on 1999-04-03 17:08 EST by <jcej@chiroptera.tragus.org>.
# Source directory was `/var/home/jcej/projects/ACE_wrappers/docs/tutorials/020'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
@@ -13,7 +13,7 @@
# ------ ---------- ------------------------------------------
# 426 -rw-rw-r-- hdr
# 69 -rw-rw-r-- bodies
-# 509 -rw-rw-r-- page01.pre
+# 1395 -rw-rw-r-- page01.pre
# 524 -rw-rw-r-- page02.pre
# 115 -rw-rw-r-- page03.pre
# 411 -rw-rw-r-- page04.pre
@@ -66,7 +66,7 @@ else
fi
rm -f 1231235999 $$.touch
#
-if mkdir _sh07707; then
+if mkdir _sh12949; then
$echo 'x -' 'creating lock directory'
else
$echo 'failed to create lock directory'
@@ -151,20 +151,41 @@ X <p>
X Like the shared memory tutorial, this one is also very basic and
X primitive. I'm assuming you've read that one, so I'll just hit
X the high points this time through..
+<P>
+Kirthika's abstract:
+<UL>
+Here, the ACE_Shared_Memory_MM class has been used to provide
+persistence of the contents of the shared memory resource used by
+the server and client. A memory_map which is really a file mapped onto
+memory appears like an array which can be
+easily manipulated while actually the data is stored in a file thus
+making the contents permanent. In the previous tutorial, this wasnt
+possible as we were dealing with shared memory allocated from the RAM.
+<P>
+Again, here too, the example consists of a server and a client sharing
+memory
+(the mem_map) and the server writing a a-z string to it which will
+be successfully converted to uppercase by the client.
+<P>
+Notice that, similarities in usage abound between the previous and the
+current tutorial which will prove to be a force for templatisation.
+For that we need to go ahead -- to the next tutorial!
+X
+</UL>
SHAR_EOF
- $shar_touch -am 1228173898 'page01.pre' &&
+ $shar_touch -am 0403170599 'page01.pre' &&
chmod 0664 'page01.pre' ||
$echo 'restore of' 'page01.pre' 'failed'
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page01.pre:' 'MD5 check failed'
-333a5e5f8be0a5b8dc66424a50e5b4bd page01.pre
+dce708188357c329c4d68d4799f5511b page01.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page01.pre'`"
- test 509 -eq "$shar_count" ||
- $echo 'page01.pre:' 'original size' '509,' 'current size' "$shar_count!"
+ test 1395 -eq "$shar_count" ||
+ $echo 'page01.pre:' 'original size' '1395,' 'current size' "$shar_count!"
fi
fi
# ============= page02.pre ==============
@@ -339,5 +360,5 @@ SHAR_EOF
$echo 'page02.pst:' 'original size' '132,' 'current size' "$shar_count!"
fi
fi
-rm -fr _sh07707
+rm -fr _sh12949
exit 0
diff --git a/docs/tutorials/020/page01.html b/docs/tutorials/020/page01.html
index 9b88f442c08..099d0bb3725 100644
--- a/docs/tutorials/020/page01.html
+++ b/docs/tutorials/020/page01.html
@@ -22,5 +22,26 @@
Like the shared memory tutorial, this one is also very basic and
primitive. I'm assuming you've read that one, so I'll just hit
the high points this time through..
+<P>
+Kirthika's abstract:
+<UL>
+Here, the ACE_Shared_Memory_MM class has been used to provide
+persistence of the contents of the shared memory resource used by
+the server and client. A memory_map which is really a file mapped onto
+memory appears like an array which can be
+easily manipulated while actually the data is stored in a file thus
+making the contents permanent. In the previous tutorial, this wasnt
+possible as we were dealing with shared memory allocated from the RAM.
+<P>
+Again, here too, the example consists of a server and a client sharing
+memory
+(the mem_map) and the server writing a a-z string to it which will
+be successfully converted to uppercase by the client.
+<P>
+Notice that, similarities in usage abound between the previous and the
+current tutorial which will prove to be a force for templatisation.
+For that we need to go ahead -- to the next tutorial!
+
+</UL>
<P><HR WIDTH="100%">
<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER>
diff --git a/docs/tutorials/020/page05.html b/docs/tutorials/020/page05.html
index 0d85cc09afa..612a942a061 100644
--- a/docs/tutorials/020/page05.html
+++ b/docs/tutorials/020/page05.html
@@ -23,7 +23,7 @@ The mmap.h where we define stuff that needs to be shared between the
<font color=blue>#define</font> <font color=purple>MMAP_H</font>
<font color=red>// The expected filename for ACE_Shared_Memory_MM.h</font>
-<font color=blue>#include</font> "<font color=green>ace/Shared_Memory_MM.h</font>"
+<font color=blue>#include</font> "<A HREF="../../../ace/Shared_Memory_MM.h">ace/Shared_Memory_MM.h</A>"
<font color=red>// Just enough for the alphabet...</font>
<font color=blue>#define</font> <font color=purple>SHMSZ</font> 27
diff --git a/docs/tutorials/021/combine.shar b/docs/tutorials/021/combine.shar
index 5b92de500be..0ed5ed2a3d4 100644
--- a/docs/tutorials/021/combine.shar
+++ b/docs/tutorials/021/combine.shar
@@ -3,8 +3,8 @@
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
-# Made on 1999-01-06 14:26 EST by <jcej@caldera.lads.com>.
-# Source directory was `/scsiA/home/jcej/projects/ACE_wrappers/docs/tutorials/021'.
+# Made on 1999-04-03 17:08 EST by <jcej@chiroptera.tragus.org>.
+# Source directory was `/var/home/jcej/projects/ACE_wrappers/docs/tutorials/021'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
@@ -13,12 +13,13 @@
# ------ ---------- ------------------------------------------
# 409 -rw-rw-r-- hdr
# 47 -rw-rw-r-- bodies
-# 562 -rw-rw-r-- page01.pre
-# 281 -rw-rw-r-- page02.pre
-# 201 -rw-rw-r-- page03.pre
-# 287 -rw-rw-r-- page04.pre
-# 287 -rw-rw-r-- page05.pre
+# 2301 -rw-rw-r-- page01.pre
+# 282 -rw-rw-r-- page02.pre
+# 202 -rw-rw-r-- page03.pre
+# 288 -rw-rw-r-- page04.pre
+# 288 -rw-rw-r-- page05.pre
# 604 -rw-rw-r-- page06.pre
+# 786 -rw-rw-r-- page04.pst
#
save_IFS="${IFS}"
IFS="${IFS}:"
@@ -65,7 +66,7 @@ else
fi
rm -f 1231235999 $$.touch
#
-if mkdir _sh07125; then
+if mkdir _sh12922; then
$echo 'x -' 'creating lock directory'
else
$echo 'failed to create lock directory'
@@ -152,20 +153,56 @@ X In this tutorial, we'll use ACE_Malloc&lt;&gt; to create a
X memory pool that is sharable between a client and server. We'll
X use a memory mapped file to provide the physical storage but
X shared memory works just as well.
+<P>
+Kirthika's abstract:
+<UL>
+The ACE_Malloc class is templatised by the type of memory pool
+and the lock for it. The name of the memory pool provided can be used
+in the "bind" call made by the server. This helps the other party
+wanting to access it do so by a "find" call. The ACE_Malloc will
+allocate
+memory and on a "malloc" will return memory chunks from its reserve.
+When the memory chunk is freed by the user, it will be appended to the
+free list maintained by the class. Unless a "remove" is done explicitly,
+the memory wont be returned to the OS. Various memory pool types can be
+used,
+X ACE_MMap_Memory_Pool,ACE_Sbrk_Memory_Pool to name a few.
+For further details: <A HREF="../../ace/Memory_Pool.h">ace/Memory_Pool.h</A>.
+<P>
+In this tutorial, a ACE_Malloc class with ACE_MMAP_MEMORY_POOL
+and a semophore for syncronisation has been used. This is locked by
+the server initially and released after it writes into it so that
+the client waiting for it can go ahead and do its job. There is yet
+another semaphore used by the server to exit only after the client
+has finished its task, which is locked by the client at the start
+and released when its done.
+<P>
+Some more information regarding memory management:
+ACE also provides the ACE_Allocator class which uses
+dynamic binding and is flexible, though at a cost of using
+virtual pointer tables. Also, there is an ACE_Allocator_Adapter class
+which has an ACE_Allocator interface but ACE_Malloc functionality.
+<P>
+Bottomline: Memory can be managed either using the ACE_Allocator
+set of classes which uses polymorphism and is thus flexible but not as
+efficient as the templatised version which is the ACE_Malloc set of
+classes which are more efficient but not as felxible.
+X
+</UL>
SHAR_EOF
- $shar_touch -am 0103180499 'page01.pre' &&
+ $shar_touch -am 0403170799 'page01.pre' &&
chmod 0664 'page01.pre' ||
$echo 'restore of' 'page01.pre' 'failed'
if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page01.pre:' 'MD5 check failed'
-83956a1b05e5f8823afbdb8a84d8ac11 page01.pre
+98ac048e325c4933d10e44f97bf27791 page01.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page01.pre'`"
- test 562 -eq "$shar_count" ||
- $echo 'page01.pre:' 'original size' '562,' 'current size' "$shar_count!"
+ test 2301 -eq "$shar_count" ||
+ $echo 'page01.pre:' 'original size' '2301,' 'current size' "$shar_count!"
fi
fi
# ============= page02.pre ==============
@@ -190,12 +227,12 @@ SHAR_EOF
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page02.pre:' 'MD5 check failed'
-1bde237d2082c2f88f4802965e0b393d page02.pre
+6742359e1f990299bdab5992d0629d96 page02.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page02.pre'`"
- test 281 -eq "$shar_count" ||
- $echo 'page02.pre:' 'original size' '281,' 'current size' "$shar_count!"
+ test 282 -eq "$shar_count" ||
+ $echo 'page02.pre:' 'original size' '282,' 'current size' "$shar_count!"
fi
fi
# ============= page03.pre ==============
@@ -219,12 +256,12 @@ SHAR_EOF
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page03.pre:' 'MD5 check failed'
-bd3bbfe6dbece827f8259d394d89ff58 page03.pre
+e47af5a3f933ac9eafbb4aae007aa0e6 page03.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page03.pre'`"
- test 201 -eq "$shar_count" ||
- $echo 'page03.pre:' 'original size' '201,' 'current size' "$shar_count!"
+ test 202 -eq "$shar_count" ||
+ $echo 'page03.pre:' 'original size' '202,' 'current size' "$shar_count!"
fi
fi
# ============= page04.pre ==============
@@ -249,12 +286,12 @@ SHAR_EOF
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page04.pre:' 'MD5 check failed'
-a95d570fb8b7aca15802d9abdba84b81 page04.pre
+2366f1603bd1e71955eb8ee3429ca402 page04.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page04.pre'`"
- test 287 -eq "$shar_count" ||
- $echo 'page04.pre:' 'original size' '287,' 'current size' "$shar_count!"
+ test 288 -eq "$shar_count" ||
+ $echo 'page04.pre:' 'original size' '288,' 'current size' "$shar_count!"
fi
fi
# ============= page05.pre ==============
@@ -279,12 +316,12 @@ SHAR_EOF
&& ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'page05.pre:' 'MD5 check failed'
-a95d570fb8b7aca15802d9abdba84b81 page05.pre
+2366f1603bd1e71955eb8ee3429ca402 page05.pre
SHAR_EOF
else
shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page05.pre'`"
- test 287 -eq "$shar_count" ||
- $echo 'page05.pre:' 'original size' '287,' 'current size' "$shar_count!"
+ test 288 -eq "$shar_count" ||
+ $echo 'page05.pre:' 'original size' '288,' 'current size' "$shar_count!"
fi
fi
# ============= page06.pre ==============
@@ -325,5 +362,43 @@ SHAR_EOF
$echo 'page06.pre:' 'original size' '604,' 'current size' "$shar_count!"
fi
fi
-rm -fr _sh07125
+# ============= page04.pst ==============
+if test -f 'page04.pst' && test "$first_param" != -c; then
+ $echo 'x -' SKIPPING 'page04.pst' '(file already exists)'
+else
+ $echo 'x -' extracting 'page04.pst' '(text)'
+ sed 's/^X//' << 'SHAR_EOF' > 'page04.pst' &&
+<HR>
+X The really hard stuff is done by the ACE_Malloc<> template. This
+X template takes two parameters.<sup>*</sup> The first is a
+X memory pool class to use. ACE has several, I've choosen one
+X that uses a memory-mapped file. The second parameter is a lock
+X class of some sort. This is needed so that the ACE_Malloc<> can
+X protect its internal data. Note that you still have to
+X provide your own mutex around the data you put into the
+X malloc'd area.
+X
+<P>
+X * Actually, some implementations may require a different
+X number of parameters.
+X That's why ACE uses those funky macros. ACE_MMAP_MEMORY_POOL
+X for instance turns into ACE_MMAP_Memory_Pool on Linux but may
+X do other things on your platform.
+SHAR_EOF
+ $shar_touch -am 0313161099 'page04.pst' &&
+ chmod 0664 'page04.pst' ||
+ $echo 'restore of' 'page04.pst' 'failed'
+ if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
+ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
+ md5sum -c << SHAR_EOF >/dev/null 2>&1 \
+ || $echo 'page04.pst:' 'MD5 check failed'
+9e40019f1599341ac0dac0f3eee47341 page04.pst
+SHAR_EOF
+ else
+ shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page04.pst'`"
+ test 786 -eq "$shar_count" ||
+ $echo 'page04.pst:' 'original size' '786,' 'current size' "$shar_count!"
+ fi
+fi
+rm -fr _sh12922
exit 0
diff --git a/docs/tutorials/021/page01.html b/docs/tutorials/021/page01.html
index 262bdeac5cc..e3f13fee257 100644
--- a/docs/tutorials/021/page01.html
+++ b/docs/tutorials/021/page01.html
@@ -24,5 +24,41 @@
memory pool that is sharable between a client and server. We'll
use a memory mapped file to provide the physical storage but
shared memory works just as well.
+<P>
+Kirthika's abstract:
+<UL>
+The ACE_Malloc class is templatised by the type of memory pool
+and the lock for it. The name of the memory pool provided can be used
+in the "bind" call made by the server. This helps the other party
+wanting to access it do so by a "find" call. The ACE_Malloc will
+allocate
+memory and on a "malloc" will return memory chunks from its reserve.
+When the memory chunk is freed by the user, it will be appended to the
+free list maintained by the class. Unless a "remove" is done explicitly,
+the memory wont be returned to the OS. Various memory pool types can be
+used,
+ ACE_MMap_Memory_Pool,ACE_Sbrk_Memory_Pool to name a few.
+For further details: <A HREF="../../ace/Memory_Pool.h">ace/Memory_Pool.h</A>.
+<P>
+In this tutorial, a ACE_Malloc class with ACE_MMAP_MEMORY_POOL
+and a semophore for syncronisation has been used. This is locked by
+the server initially and released after it writes into it so that
+the client waiting for it can go ahead and do its job. There is yet
+another semaphore used by the server to exit only after the client
+has finished its task, which is locked by the client at the start
+and released when its done.
+<P>
+Some more information regarding memory management:
+ACE also provides the ACE_Allocator class which uses
+dynamic binding and is flexible, though at a cost of using
+virtual pointer tables. Also, there is an ACE_Allocator_Adapter class
+which has an ACE_Allocator interface but ACE_Malloc functionality.
+<P>
+Bottomline: Memory can be managed either using the ACE_Allocator
+set of classes which uses polymorphism and is thus flexible but not as
+efficient as the templatised version which is the ACE_Malloc set of
+classes which are more efficient but not as felxible.
+
+</UL>
<P><HR WIDTH="100%">
<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER>