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

kul gupta kulg123 at gmail.com
Wed Mar 5 22:31:07 CST 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:

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 in sync.


I am attaching a code and description of the output and the problem.



DESCRIPTION.
I also tried it using ACE_Process_Mutex by just replacing the
ACE_RW_Process_Mutex in code by ACE_Process_Mutex .With ACE_Process_Mutex
,synchronization is proper and writer and reader are acquiring and releasing
in correct order .(when writer is releasing, then only reader is acquiring
and vice versa. The output for the same is in last of the mail).

BUT when using ACE_RW_Process_Mutex ,the writer and reader are not in sync.

If we see the output for this as mentioned below, writer has acquired the
mutex at

88112592 millisec and released at 88114592 millisec i..e writer is working
for 2 sec and has acquired mutex for 2 sec.

(writer acquired    1    at   88112592

 writer released    1   at   88114592)

Now when we see the Reader, it has acquired the mutex at 88112872 millisec.

(Reader acquired   0     at   88112872

Reader released   0     at   88114872)

This should ideally not happen as mutex is still with the writer and it is
relasing at 88114592 millisec.

 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();

            }

        }

    }

    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;

}

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/20080306/28e7785e/attachment-0001.html 


More information about the Ace-users mailing list