[Ace-users] [ace-users] ACE_RW_Process_Mutex NOT WORKING

kul gupta kulg123 at gmail.com
Mon Mar 10 00:52:17 CDT 2008


>
>
>
> ACE VERSION: 5.5.8
>
> HOST MACHINE and OPERATING SYSTEM:
> Windows XP Professional and Enterprise Linux 5.0
>
> Version 2002
>
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:NO
>
> COMPILER NAME AND VERSION (AND PATCHLEVEL):
>
> Visual studio 2005
>
> THE $ACE_ROOT/ace/config.h FILE
>
> #include "ace/config-win32.h"   for windows
>
> #include "ace/config-linux.h"   for linux
>
> DOES THE PROBLEM AFFECT:
>
>     COMPILATION?   NO
>        LINKING?       NO
>
>    EXECUTION?     YES
>
>      OTHER
>
>    SYNOPSIS:
> Adding a sleep(0) after the statement of releasing mutex ,single writer
> and reader is in sync.
>
can u pl;ease let me know how to use the the ACE_RW_Process_mutex for
multiple readers.??


>
> DESCRIPTION.
> I am writing the code below.
>

I want to implement the same for multiple readers.can u please hint me about
the same or if there is any sample of using ACE_RW_Process_mutex.

  int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
>
>
> {
>
> int count =0;
>
> float ltime=0;
>
>     ACE_RW_Process_Mutex m_RWMutex(ACE_TEXT("MyMutex"));
>
>     if (agrc == 1)                  // For server which is writing
>
>     {
>
>         while (1)
>
>         {
>
>             if (m_RWMutex.acquire_write() == 0)
>
>             {
>
>                 ltime = ::GetTickCount();  //number of millisec since the
> system has started
>
>                 ACE_OS::printf("Writer acquired...%d  at:
> %f\n",count++,ltime);
>
>                 ACE_OS::sleep(2);
>
>                 ltime = ::GetTickCount();
>
>                 ACE_OS::printf("Writer releasing... ...%d  at:
> %f\n",count++,ltime);
>
>                 m_RWMutex.release();
>

 ACE_OS::sleep(0);


             }
>
>         }
>
>     }
>
>     else                      //For Client which is reading
>
>     {
>
>         while (1)
>
>         {
>
>             if (m_RWMutex.acquire_read() == 0)
>
>             {
>
>                ltime = ::GetTickCount();
>
>                ACE_OS::printf("Reader acquired... ...%d  at:
> %f\n",count++,ltime);
>
>                 ACE_OS::sleep(2);
>
>                 ltime = ::GetTickCount();
>
>                 ACE_OS::printf("Reader releasing...%d  at:
> %f\n",count++,ltime);
>
>                 m_RWMutex.release();
>

ACE_OS::sleep(0);

             }
>
>         }
>
>     }
>
>     return 0;
>
> }
>
> OUTPUT  is like this(WITH ACE_RW_Process_Mutex):
>
>
>
> Writer            count      TimeStamp(in millisec)
>
>
> writer acquired    0    at   88110592
>
> writer released    0    at   88112592
>
> writer acquired    1    at   88112592
>
> writer released    1   at   88114592
>
> writer acquired    2    at   88114592
>
> writer released    2    at   88116592
>
> writer acquired    3    at   88116592
>
> writer released    3    at   88118592
>
>
>
> Reader
>
> Reader acquired   0     at   88112872
>
> Reader released   0     at   88114872
>
> Reader acquired   1     at   88114872
>
> Reader released   1     at   88116872
>
> Reader acquired   2     at   88116872
>
> Reader released   2     at   88118872
>
> Reader acquired   3     at   88118872
>
>
>
>
>
> OUTPUT is like this (WITH ACE_Process_Mutex):
>
>
>
> Writer            count      TimeStamp(in millisec)
>
>
>
> writer acquired    0    at    88560984
>
> writer released    0    at   88562984
>
> writer acquired    1    at   88562984
>
> writer released    1   at   88564984
>
> writer acquired    2    at   88566984
>
> writer released    2    at   88568984
>
> writer acquired    3    at   88570984
>
> writer released    3    at   88572984
>
>
>
> Reader
>
> Reader acquired   0     at   88564984
>
> Reader released   0     at   88566984
>
> Reader acquired   1     at   88568984
>
> Reader released   1     at   88570984
>
> Reader acquired   2     at   88572984
>
> Reader released   2     at   88574984
>
> Reader acquired   3     at   88576984
>
> Reader released   3     at   88578984
>
>
>
> Thanks
>
> Kul
>
>
> On 3/4/08, Douglas C. Schmidt <schmidt at dre.vanderbilt.edu> wrote:
> >
> > Hi,
> >
> >        Thanks for using the PRF.
> >
> > >ACE VERSION: 5.5.8
> > >
> > >HOST MACHINE and OPERATING SYSTEM:
> > >Windows XP Professional and Enterprise Linux 5.0
> > >
> > >Version 2002
> > >
> > >TARGET MACHINE and OPERATING SYSTEM, if different from HOST:NO
> > >
> > >COMPILER NAME AND VERSION (AND PATCHLEVEL):
> > >
> > >Visual studio 2005
> > >
> > >THE $ACE_ROOT/ace/config.h FILE
> > >
> > >#include "ace/config-win32.h"   for windows
> > >
> > >#include "ace/config-linux.h"   for linux
> > >
> > >DOES THE PROBLEM AFFECT:
> > >
> > >        COMPILATION?   NO
> > >
> > >        LINKING?       NO
> > >
> > >        EXECUTION?     YES
> > >
> > >        OTHER
> > >
> > >    SYNOPSIS:
> > >
> > >Use of ACE_RW_Process_Mutex.I developed a very simple program which
> > needs to
> > >be extended for Multiple readers and single writer ( shared memory
> > concept
> > >using a Hash Map with allocator)
> > >
> > >Even a single Reader and single writer are not getting
> > >syncronized.Pleaseprovide with a sample program of
> > >ACE_RW_Process_Mutex.
> > >
> > >
> > >
> > >DESCRIPTION:
> > >
> > >After having a look into ACE_ROOT/examples/Threads ,I implemented the
> > >following code using ACE_RW_Process_Mutex. and run in both Windows and
> > >linux5.0. But in both the cases the synchronization is not happening .
> > >
> > >Yes I have tried with ACE_Process_Mutex.Its working Fine in Windows
> > >and linux.I m attaching the code of ACE_Process_Mutex along with its
> > >output  and also of ACE_RW_Process_Mutex along with its output
> > >
> > >The Code is written as below  (WITH ACE_RW_Process_Mutex)
> > >
> > >int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
> > >
> > >{
> > >
> > >int count =0;
> > >
> > >float ltime=0;
> >
> > BTW, I recommend you use
> >
> >     ACE_RW_Process_Mutex m_RWMutex;
> >
> >     if (m_RWMutex.open (ACE_TEXT("MyMutex")) == -1)
> >        ACE_DEBUG ((LM_ERROR, "%p\n", "RWMutex::open"));
> >
> > to make sure that the open isn't failing.
> >
> > >    ACE_RW_Process_Mutex m_RWMutex(ACE_TEXT("MyMutex"));
> > >
> > >    if (agrc == 1)                  // For server which is writing
> > >
> > >    {
> > >
> > >        while (1)
> > >
> > >        {
> > >
> > >            if (m_RWMutex.acquire_write() == 0)
> > >
> > >            {
> > >
> > >                ltime = ::GetTickCount();
> > >
> > >                ACE_OS::printf("Writer acquired...%d  at:
> > >%f\n",count++,ltime);
> > >
> > >                ACE_OS::sleep(2);
> > >
> > >                ltime = ::GetTickCount();
> > >
> > >                ACE_OS::printf("Writer releasing... ...%d  at:
> > >%f\n",count++,ltime);
> > >
> > >                m_RWMutex.release();
> > >
> > >            }
> > >
> > >        }
> > >
> > >    }
> > >
> > >    else                      //For Client which is reading
> > >
> > >    {
> > >
> > >        while (1)
> > >
> > >        {
> > >
> > >            if (m_RWMutex.acquire_read() == 0)
> > >
> > >            {
> > >
> > >               ltime = ::GetTickCount();
> > >
> > >               ACE_OS::printf("Reader acquired... ...%d  at:
> > >%f\n",count++,ltime);
> > >
> > >                ACE_OS::sleep(2);
> > >
> > >                ltime = ::GetTickCount();
> > >
> > >                ACE_OS::printf("Reader releasing...%d  at:
> > >%f\n",count++,ltime);
> > >
> > >                m_RWMutex.release();
> > >
> > >            }
> > >
> > >        }
> > >
> > >    }
> > >
> > >    return 0;
> > >
> > >}
> >
> > I can't figure out what the difference is between the two outputs with
> > a cursory look.  Can you please explain why you think the
> > RW_Process_Mutex isn't working whereas the Process_Mutex is working?
> >
> > Thanks,
> >
> >        Doug
> >
> > >output is like this(WITH ACE_RW_Process_Mutex):
> > >
> > >Writer
> > >
> > >writer acquired    0    at   88110592
> > >
> > >writer released    0    at   88112592
> > >
> > >writer acquired    1    at   88112592
> > >
> > >writer released    1   at   88114592
> > >
> > >writer acquired    2    at   88114592
> > >
> > >writer released    2    at   88116592
> > >
> > >writer acquired    3    at   88116592
> > >
> > >writer released    3    at   88118592
> > >
> > >
> > >
> > >Reader
> > >
> > >Reader acquired   0     at   88112872
> > >
> > >Reader released   0     at   88114872
> > >
> > >Reader acquired   1     at   88114872
> > >
> > >Reader released   1     at   88116872
> > >
> > >Reader acquired   2     at   88116872
> > >
> > >Reader released   2     at   88118872
> > >
> > >Reader acquired   3     at   88118872
> > >
> > >
> > >
> > >
> > >
> > >output is like this (WITH ACE_Process_Mutex):
> > >
> > >Writer
> > >
> > >writer acquired    0    at    88560984
> > >
> > >writer released    0    at   88562984
> > >
> > >writer acquired    1    at   88562984
> > >
> > >writer released    1   at   88564984
> > >
> > >writer acquired    2    at   88566984
> > >
> > >writer released    2    at   88568984
> > >
> > >writer acquired    3    at   88570984
> > >
> > >writer released    3    at   88572984
> > >
> > >
> > >
> > >Reader
> > >
> > >Reader acquired   0     at   88564984
> > >
> > >Reader released   0     at   88566984
> > >
> > >Reader acquired   1     at   88568984
> > >
> > >Reader released   1     at   88570984
> > >
> > >Reader acquired   2     at   88572984
> > >
> > >Reader released   2     at   88574984
> > >
> > >Reader acquired   3     at   88576984
> > >
> > >Reader released   3     at   88578984
> > >
> > >
> > >
> > >
> > >On 3/3/08, Matthew Gillen <mgillen at bbn.com> wrote:
> > >>
> > >> kul gupta wrote:
> > >> > After having a look into ACE_ROOT/examples/Threads ,I implemented
> > the
> > >> > following code using ACE_RW_Process_Mutex. and run in both Windows
> > and
> > >> > linux5.0. But in both the cases the synchronization is not
> > happening .
> > >>
> > >> It would help if were more specific about what actually /is/
> > >> happening.  Do
> > >> you see the output messages in the wrong order?  Do you never see
> > some
> > >> output messages?
> > >>
> > >> Matt
> > >>
> > >
> > >------=_Part_37_22204605.1204610511961
> > >Content-Type: text/html; charset=ISO-8859-1
> > >Content-Transfer-Encoding: 7bit
> > >Content-Disposition: inline
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace"><font size="1"><span style="FONT-SIZE: 10pt; FONT-FAMILY:
> > Arial">Subject: </span><span style="FONT-SIZE: 10pt; FONT-FAMILY:
> > &#39;Courier New&#39;">ACE_RW_Process_Mutex in single writer and multiple
> > readers</span><span style="FONT-SIZE: 9.5pt; FONT-FAMILY:
> > Arial"></span></font></font></p>
> > ><pre><font face="courier new,monospace"><font size="1"><span
> > style="FONT-FAMILY: Arial">ACE VERSION</span>: 5.5.8</font></font></pre>
> > ><div><font face="courier new,monospace"><font size="1"><span
> > style="FONT-FAMILY: Arial">HOST MACHINE and OPERATING
> > SYSTEM</span>:</font></font></div>
> > ><div><font face="courier new,monospace" size="1">Windows XP
> > Professional and Enterprise Linux 5.0</font></div><pre><font
> > face="courier new,monospace" size="1">Version 2002</font></pre><pre><font
> > face="courier new,monospace" size="1">TARGET MACHINE and OPERATING SYSTEM,
> > if different from HOST:NO</font></pre>
> > ><pre><font face="courier new,monospace"><font size="1"><span
> > style="FONT-FAMILY: Arial">COMPILER NAME AND VERSION</span> (AND
> > PATCHLEVEL):</font></font></pre><pre><font face="courier new,monospace"
> > size="1">Visual studio 2005</font></pre>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace"><font
> > size="1"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">THE
> > $ACE_ROOT/ace/config.h FILE </span><span style="FONT-SIZE: 9.5pt;
> > FONT-FAMILY: Arial"></span></font></font></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">#include &quot;ace/config-win32.h&quot;&nbsp;&nbsp; for
> > windows</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">#include &quot;ace/config-linux.h&quot;&nbsp;&nbsp; for
> > linux</font></font></span></p>
> > ><pre><font face="courier new,monospace"><font size="1"><span
> > style="FONT-FAMILY: Arial">DOES THE PROBLEM
> > AFFECT</span>:</font></font></pre><pre><font face="courier new,monospace"
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COMPILATION? &nbsp;
> > NO</font></pre>
> > ><pre><font face="courier new,monospace"
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LINKING?&nbsp;
> > &nbsp;&nbsp;&nbsp;&nbsp; NO</font></pre><pre><font face="courier
> > new,monospace" size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > EXECUTION?&nbsp;&nbsp;&nbsp;&nbsp; YES</font></pre><pre><font face="courier
> > new,monospace" size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OTHER
> > &nbsp;</font></pre>
> > ><pre><font face="courier new,monospace" size="1">&nbsp;&nbsp;&nbsp;
> > <span style="FONT-FAMILY: Arial">SYNOPSIS</span>:</font></pre>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">Use of ACE_RW_Process_Mutex.I developed a very simple program which
> > needs to be extended for Multiple readers and single writer ( shared memory
> > concept using a Hash Map with allocator)</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">Even a single Reader and single writer are not getting
> > syncronized.Please provide with a sample program of
> > ACE_RW_Process_Mutex.</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace"><font
> > size="1"><span style="FONT-SIZE: 10pt; FONT-FAMILY:
> > Arial">&nbsp;</span><span style="FONT-SIZE: 9.5pt; FONT-FAMILY:
> > Arial"></span></font></font></p><pre>
> > ><font face="courier new,monospace"><font size="1"><span
> > style="FONT-FAMILY: Arial">DESCRIPTION</span>:</font></font></pre><pre><font
> > face="courier new,monospace" size="1">After having a look into
> > ACE_ROOT/examples/Threads ,I implemented the following code using
> > ACE_RW_Process_Mutex. and run in both Windows and linux5.0. But in both
> > the cases the synchronization is not happening .</font></pre>
> > ><pre><font face="courier new,monospace" size="1">Yes I have tried with
> > ACE_Process_Mutex.Its working Fine in Windows and linux.I m attaching
> > the code of ACE_Process_Mutex along with its output<span
> > style="mso-spacerun: yes">&nbsp; </span>and also of ACE_RW_Process_Mutex
> > along with its output</font></pre>
> > ><pre><font face="courier new,monospace" size="1">The Code is written as
> > below<span style="mso-spacerun: yes">&nbsp; </span>(WITH
> > ACE_RW_Process_Mutex)</font></pre><pre><font face="courier
> > new,monospace"><font size="1">int ACE_TMAIN (int argc, ACE_TCHAR
> > *argv[])</font></font></pre>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">{</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">int count =0;</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">float ltime=0;</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; ACE_RW_Process_Mutex
> > m_RWMutex(ACE_TEXT(&quot;MyMutex&quot;));</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; if (agrc == 1)<span style="mso-tab-count:
> > 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span>// For server which is writing</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while
> > (1)</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
> > (m_RWMutex.acquire_write() == 0)</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1"><span style="mso-tab-count:
> > 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ltime =
> > ::GetTickCount();</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > ACE_OS::printf(&quot;Writer acquired...%d<span style="mso-spacerun:
> > yes">&nbsp; </span>at: %f\n&quot;,count++,ltime);</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > ACE_OS::sleep(2);</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1"><span style="mso-tab-count:
> > 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ltime =
> > ::GetTickCount();</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > ACE_OS::printf(&quot;Writer releasing... ...%d<span style="mso-spacerun:
> > yes">&nbsp; </span>at: %f\n&quot;,count++,ltime);</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > m_RWMutex.release();</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; else<span style="mso-tab-count:
> > 4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span>//For Client which is reading </font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while
> > (1)</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
> > (m_RWMutex.acquire_read() == 0)</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > {</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ltime
> > = ::GetTickCount(); </font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1"><span style="mso-tab-count:
> > 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span><span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>ACE_OS::printf(&quot;Reader acquired... ...%d<span
> > style="mso-spacerun: yes">&nbsp; </span>at:
> > %f\n&quot;,count++,ltime);</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > ACE_OS::sleep(2);</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1"><span style="mso-tab-count:
> > 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ltime =
> > ::GetTickCount();</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > ACE_OS::printf(&quot;Reader releasing...%d<span style="mso-spacerun:
> > yes">&nbsp; </span>at: %f\n&quot;,count++,ltime);</font></font></span></p>
> > >
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > m_RWMutex.release();</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> > }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; }</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">&nbsp;&nbsp;&nbsp; return 0;</font></font></span></p>
> > ><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt;
> > FONT-FAMILY: &#39;Courier New&#39;"><font face="courier new,monospace"><font
> > size="1">}</font></font></span></p><pre><font face="courier new,monospace"
> > size="1">output is like this(WITH ACE_RW_Process_Mutex):</font></pre>
> > ><pre><font face="courier new,monospace" size="1">Writer </font></pre>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88110592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88112592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>1<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88112592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>1<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-tab-count:
> > 1"></span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88114592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>2<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88114592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>2<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88116592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>3 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88116592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released <span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</span>3 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88118592</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">&nbsp;</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">Reader</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>0<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88112872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>0<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88114872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>1<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88114872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>1<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88116872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>2<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88116872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>2<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88118872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>3<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88118872</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">&nbsp;</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">&nbsp;</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">output is like this (WITH
> > ACE_Process_Mutex):</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">Writer </font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp;&nbsp; </span>88560984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88562984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>1<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88562984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>1<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-tab-count:
> > 1"></span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88564984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>2<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at<span style="mso-spacerun: yes">&nbsp;&nbsp;
> > </span>88566984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>2<span
> > style="mso-spacerun: yes">&nbsp; </span><span style="mso-tab-count:
> > 1">&nbsp; </span>at <span style="mso-spacerun:
> > yes">&nbsp;&nbsp;</span>88568984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>3 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88570984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">writer released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>3 <span
> > style="mso-tab-count: 1">&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88572984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">&nbsp;</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">Reader</font></p>
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>0<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88564984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>0<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88566984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>1<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88568984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>1<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88570984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>2<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88572984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>2<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88574984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace"><font size="1">Reader acquired<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>3<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88576984</font></font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span
> > style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Courier New&#39;"><font
> > face="courier new,monospace" size="1">Reader released<span
> > style="mso-spacerun: yes">&nbsp;&nbsp; </span>3<span style="mso-tab-count:
> > 1">&nbsp;&nbsp;&nbsp;&nbsp; </span>at<span style="mso-spacerun:
> > yes">&nbsp;&nbsp; </span>88578984</font></span></p>
> > >
> > ><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier
> > new,monospace" size="1">&nbsp;</font></p><br><br>
> > ><div><span class="gmail_quote"><font face="courier new,monospace"
> > size="1">On 3/3/08, <b class="gmail_sendername">Matthew Gillen</b> &lt;<a
> > href="mailto:mgillen at bbn.com">mgillen at bbn.com</a>&gt;
> > wrote:</font></span>
> > ><blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px
> > 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><font face="courier
> > new,monospace" size="1">kul gupta wrote:<br>&gt; After having a look into
> > ACE_ROOT/examples/Threads ,I implemented the<br>
> > >&gt; following code using ACE_RW_Process_Mutex. and run in both Windows
> > and<br>&gt; linux5.0. But in both the cases the synchronization is not
> > happening .<br><br>It would help if were more specific about what actually
> > /is/ happening.&nbsp;&nbsp;Do<br>
> > >you see the output messages in the wrong order?&nbsp;&nbsp;Do you never
> > see some<br>output messages?<br><br>Matt<br></font></blockquote></div><br>
> > >
> > >------=_Part_37_22204605.1204610511961--
> > >
> >
> >
> > --
> > Dr. Douglas C. Schmidt                       Professor and Associate
> > Chair
> > Electrical Engineering and Computer Science  TEL: (615) 343-8197
> > Vanderbilt University                        WEB:
> > www.dre.vanderbilt.edu/~schmidt
> > Nashville, TN 37203                          NET:
> > d.schmidt at vanderbilt.edu
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/ace-users/attachments/20080310/0ae06a67/attachment-0001.html 


More information about the Ace-users mailing list