<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@bbn.com">mgillen@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>