[Ace-users] [ace-users] ACE_RW_Process_Mutex
Douglas C. Schmidt
schmidt at dre.vanderbilt.edu
Tue Mar 4 06:20:27 CST 2008
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: 'Courier New'">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: 'Courier New'"><font face="courier new,monospace"><font size="1">#include "ace/config-win32.h" for windows</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">#include "ace/config-linux.h" 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"> COMPILATION? NO</font></pre>
><pre><font face="courier new,monospace" size="1"> LINKING? NO</font></pre><pre><font face="courier new,monospace" size="1"> EXECUTION? YES</font></pre><pre><font face="courier new,monospace" size="1"> OTHER </font></pre>
><pre><font face="courier new,monospace" size="1"> <span style="FONT-FAMILY: Arial">SYNOPSIS</span>:</font></pre>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><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"> </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"> </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"> </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: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_RW_Process_Mutex m_RWMutex(ACE_TEXT("MyMutex"));</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> if (agrc == 1)<span style="mso-tab-count: 3"> </span>// For server which is writing</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> while (1)</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> if (m_RWMutex.acquire_write() == 0)</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"><span style="mso-tab-count: 2"> </span><span style="mso-spacerun: yes"> </span>ltime = ::GetTickCount();</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_OS::printf("Writer acquired...%d<span style="mso-spacerun: yes"> </span>at: %f\n",count++,ltime);</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_OS::sleep(2);</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"><span style="mso-tab-count: 2"> </span><span style="mso-spacerun: yes"> </span>ltime = ::GetTickCount();</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_OS::printf("Writer releasing... ...%d<span style="mso-spacerun: yes"> </span>at: %f\n",count++,ltime);</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> m_RWMutex.release();</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> else<span style="mso-tab-count: 4"> </span>//For Client which is reading </font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> while (1)</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> if (m_RWMutex.acquire_read() == 0)</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> ltime = ::GetTickCount(); </font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"><span style="mso-tab-count: 2"> </span><span style="mso-spacerun: yes"> </span>ACE_OS::printf("Reader acquired... ...%d<span style="mso-spacerun: yes"> </span>at: %f\n",count++,ltime);</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_OS::sleep(2);</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"><span style="mso-tab-count: 2"> </span><span style="mso-spacerun: yes"> </span>ltime = ::GetTickCount();</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> ACE_OS::printf("Reader releasing...%d<span style="mso-spacerun: yes"> </span>at: %f\n",count++,ltime);</font></font></span></p>
>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1"> m_RWMutex.release();</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1"> return 0;</font></font></span></p>
><p style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><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: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>0 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88110592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>0 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88112592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>1<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88112592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>1<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"></span>at<span style="mso-spacerun: yes"> </span>88114592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>2<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88114592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>2<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88116592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>3 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88116592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released <span style="mso-spacerun: yes"> </span>3 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88118592</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace" size="1"> </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: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>0<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88112872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>0<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88114872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>1<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88114872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>1<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88116872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>2<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88116872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>2<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88118872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>3<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88118872</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace" size="1"> </font></p>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace" size="1"> </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: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>0 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88560984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>0 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88562984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>1<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88562984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>1<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"></span>at<span style="mso-spacerun: yes"> </span>88564984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>2<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88566984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>2<span style="mso-spacerun: yes"> </span><span style="mso-tab-count: 1"> </span>at <span style="mso-spacerun: yes"> </span>88568984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer acquired<span style="mso-spacerun: yes"> </span>3 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88570984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">writer released<span style="mso-spacerun: yes"> </span>3 <span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88572984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace" size="1"> </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: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>0<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88564984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>0<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88566984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>1<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88568984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>1<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88570984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>2<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88572984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader released<span style="mso-spacerun: yes"> </span>2<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88574984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace"><font size="1">Reader acquired<span style="mso-spacerun: yes"> </span>3<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88576984</font></font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><font face="courier new,monospace" size="1">Reader released<span style="mso-spacerun: yes"> </span>3<span style="mso-tab-count: 1"> </span>at<span style="mso-spacerun: yes"> </span>88578984</font></span></p>
>
><p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="courier new,monospace" size="1"> </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> <<a href="mailto:mgillen at bbn.com">mgillen at bbn.com</a>> 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>> After having a look into ACE_ROOT/examples/Threads ,I implemented the<br>
>> following code using ACE_RW_Process_Mutex. and run in both Windows and<br>> 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. Do<br>
>you see the output messages in the wrong order? 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
More information about the Ace-users
mailing list