<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>reader_writer_lock.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  </ul></div>
<h1>reader_writer_lock.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2010 Intel Corporation.  All Rights Reserved.</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment">    The source code contained or described herein and all documents related</span>
<a name="l00005"></a>00005 <span class="comment">    to the source code ("Material") are owned by Intel Corporation or its</span>
<a name="l00006"></a>00006 <span class="comment">    suppliers or licensors.  Title to the Material remains with Intel</span>
<a name="l00007"></a>00007 <span class="comment">    Corporation or its suppliers and licensors.  The Material is protected</span>
<a name="l00008"></a>00008 <span class="comment">    by worldwide copyright laws and treaty provisions.  No part of the</span>
<a name="l00009"></a>00009 <span class="comment">    Material may be used, copied, reproduced, modified, published, uploaded,</span>
<a name="l00010"></a>00010 <span class="comment">    posted, transmitted, distributed, or disclosed in any way without</span>
<a name="l00011"></a>00011 <span class="comment">    Intel's prior express written permission.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">    No license under any patent, copyright, trade secret or other</span>
<a name="l00014"></a>00014 <span class="comment">    intellectual property right is granted to or conferred upon you by</span>
<a name="l00015"></a>00015 <span class="comment">    disclosure or delivery of the Materials, either expressly, by</span>
<a name="l00016"></a>00016 <span class="comment">    implication, inducement, estoppel or otherwise.  Any license under such</span>
<a name="l00017"></a>00017 <span class="comment">    intellectual property rights must be express and approved by Intel in</span>
<a name="l00018"></a>00018 <span class="comment">    writing.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __TBB_reader_writer_lock_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_reader_writer_lock_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "tbb_thread.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "tbb_allocator.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "atomic.h"</span>
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="keyword">namespace </span>tbb {
<a name="l00029"></a>00029 <span class="keyword">namespace </span>interface5 {
<a name="l00031"></a>00031 
<a name="l00034"></a><a class="code" href="a00186.html">00034</a>     <span class="keyword">class </span><a class="code" href="a00186.html">reader_writer_lock</a> : tbb::internal::no_copy {
<a name="l00035"></a>00035  <span class="keyword">public</span>:
<a name="l00036"></a>00036     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="a00187.html">scoped_lock</a>;
<a name="l00037"></a>00037     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="a00188.html">scoped_lock_read</a>;
<a name="l00039"></a>00039 
<a name="l00074"></a><a class="code" href="a00186.html#6f921f0d7c1812ceb5674418c8b6ccaf">00074</a>     <span class="keyword">enum</span> <a class="code" href="a00186.html#6f921f0d7c1812ceb5674418c8b6ccaf">status_t</a> { waiting_nonblocking, waiting, active, invalid };
<a name="l00075"></a>00075 
<a name="l00077"></a><a class="code" href="a00186.html#c1431c4293e777efd9aab9a95c2a46e1">00077</a>     <a class="code" href="a00186.html#c1431c4293e777efd9aab9a95c2a46e1">reader_writer_lock</a>() {
<a name="l00078"></a>00078         internal_construct();
<a name="l00079"></a>00079     }
<a name="l00080"></a>00080 
<a name="l00082"></a><a class="code" href="a00186.html#5135f64f7b7339017f33d956445edbee">00082</a>     <a class="code" href="a00186.html#5135f64f7b7339017f33d956445edbee">~reader_writer_lock</a>() {
<a name="l00083"></a>00083         internal_destroy();
<a name="l00084"></a>00084     }
<a name="l00085"></a>00085 
<a name="l00087"></a>00087 
<a name="l00089"></a><a class="code" href="a00187.html">00089</a>     <span class="keyword">class </span><a class="code" href="a00187.html">scoped_lock</a> : tbb::internal::no_copy {
<a name="l00090"></a>00090     <span class="keyword">public</span>:
<a name="l00091"></a>00091         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="a00186.html">reader_writer_lock</a>;
<a name="l00092"></a>00092  
<a name="l00094"></a><a class="code" href="a00187.html#cf19f20e082887c1bb0ba6b0911c3583">00094</a>         <a class="code" href="a00187.html">scoped_lock</a>(<a class="code" href="a00186.html">reader_writer_lock</a>&amp; <a class="code" href="a00186.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>) {
<a name="l00095"></a>00095             internal_construct(<a class="code" href="a00186.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>);
<a name="l00096"></a>00096         }
<a name="l00097"></a>00097         
<a name="l00099"></a><a class="code" href="a00187.html#70246e0260493625ff956fa5926fc71f">00099</a>         <a class="code" href="a00187.html#70246e0260493625ff956fa5926fc71f">~scoped_lock</a>() {
<a name="l00100"></a>00100             internal_destroy();
<a name="l00101"></a>00101         }
<a name="l00102"></a>00102 
<a name="l00103"></a>00103         <span class="keywordtype">void</span>* operator new(size_t s) {
<a name="l00104"></a>00104             <span class="keywordflow">return</span> tbb::internal::allocate_via_handler_v3(s);
<a name="l00105"></a>00105         }
<a name="l00106"></a>00106         <span class="keywordtype">void</span> operator delete(<span class="keywordtype">void</span>* p) {
<a name="l00107"></a>00107             tbb::internal::deallocate_via_handler_v3(p);
<a name="l00108"></a>00108         }
<a name="l00109"></a>00109 
<a name="l00110"></a>00110     <span class="keyword">private</span>:
<a name="l00112"></a>00112         <a class="code" href="a00186.html">reader_writer_lock</a> *<a class="code" href="a00172.html">mutex</a>;
<a name="l00114"></a>00114         scoped_lock* next;
<a name="l00116"></a>00116         <a class="code" href="a00143.html">atomic&lt;status_t&gt;</a> status;
<a name="l00117"></a>00117 
<a name="l00119"></a>00119         scoped_lock();
<a name="l00120"></a>00120 
<a name="l00121"></a>00121         <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_construct(<a class="code" href="a00186.html">reader_writer_lock</a>&amp;);
<a name="l00122"></a>00122         <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_destroy();
<a name="l00123"></a>00123    };
<a name="l00124"></a>00124 
<a name="l00126"></a><a class="code" href="a00188.html">00126</a>     <span class="keyword">class </span><a class="code" href="a00188.html">scoped_lock_read</a> : tbb::internal::no_copy {
<a name="l00127"></a>00127     <span class="keyword">public</span>:
<a name="l00128"></a>00128         <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="a00186.html">reader_writer_lock</a>;
<a name="l00129"></a>00129 
<a name="l00131"></a><a class="code" href="a00188.html#87ab0dc8f7216e6ba0f7acd6aec33064">00131</a>         <a class="code" href="a00188.html">scoped_lock_read</a>(<a class="code" href="a00186.html">reader_writer_lock</a>&amp; <a class="code" href="a00186.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>) {
<a name="l00132"></a>00132             internal_construct(<a class="code" href="a00186.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>);
<a name="l00133"></a>00133         }
<a name="l00134"></a>00134 
<a name="l00136"></a><a class="code" href="a00188.html#bd21c5f3d555d64d1de8658e15bf4966">00136</a>         <a class="code" href="a00188.html#bd21c5f3d555d64d1de8658e15bf4966">~scoped_lock_read</a>() { 
<a name="l00137"></a>00137             internal_destroy();
<a name="l00138"></a>00138         }
<a name="l00139"></a>00139         
<a name="l00140"></a>00140         <span class="keywordtype">void</span>* operator new(size_t s) {
<a name="l00141"></a>00141             <span class="keywordflow">return</span> tbb::internal::allocate_via_handler_v3(s);
<a name="l00142"></a>00142         }
<a name="l00143"></a>00143         <span class="keywordtype">void</span> operator delete(<span class="keywordtype">void</span>* p) {
<a name="l00144"></a>00144             tbb::internal::deallocate_via_handler_v3(p);
<a name="l00145"></a>00145         }
<a name="l00146"></a>00146 
<a name="l00147"></a>00147     <span class="keyword">private</span>:
<a name="l00149"></a>00149         <a class="code" href="a00186.html">reader_writer_lock</a> *<a class="code" href="a00172.html">mutex</a>;
<a name="l00151"></a>00151         scoped_lock_read *next;
<a name="l00153"></a>00153         <a class="code" href="a00143.html">atomic&lt;status_t&gt;</a> status;
<a name="l00154"></a>00154 
<a name="l00156"></a>00156         scoped_lock_read();
<a name="l00157"></a>00157 
<a name="l00158"></a>00158         <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_construct(<a class="code" href="a00186.html">reader_writer_lock</a>&amp;);
<a name="l00159"></a>00159         <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_destroy();
<a name="l00160"></a>00160     };
<a name="l00161"></a>00161     
<a name="l00163"></a>00163 
<a name="l00168"></a>00168     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD <a class="code" href="a00186.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>();
<a name="l00169"></a>00169 
<a name="l00171"></a>00171 
<a name="l00175"></a>00175     <span class="keywordtype">bool</span> __TBB_EXPORTED_METHOD <a class="code" href="a00186.html#721eb173e154ab38292273e9266a9b07">try_lock</a>();
<a name="l00176"></a>00176 
<a name="l00178"></a>00178 
<a name="l00182"></a>00182     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD <a class="code" href="a00186.html#d9d16a24d9f6c3dada73c6b9ff214f5b">lock_read</a>(); 
<a name="l00183"></a>00183 
<a name="l00185"></a>00185 
<a name="l00187"></a>00187     <span class="keywordtype">bool</span> __TBB_EXPORTED_METHOD <a class="code" href="a00186.html#595fb23952e3b89426b1f7938dea9b11">try_lock_read</a>();
<a name="l00188"></a>00188 
<a name="l00190"></a>00190     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD <a class="code" href="a00186.html#5113b32689305599b2c36b5831547704">unlock</a>();
<a name="l00191"></a>00191 
<a name="l00192"></a>00192  <span class="keyword">private</span>:
<a name="l00193"></a>00193     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_construct();
<a name="l00194"></a>00194     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_destroy();
<a name="l00195"></a>00195 
<a name="l00197"></a>00197 
<a name="l00198"></a>00198     <span class="keywordtype">bool</span> start_write(scoped_lock *);
<a name="l00200"></a>00200     <span class="keywordtype">void</span> set_next_writer(scoped_lock *w);
<a name="l00202"></a>00202     <span class="keywordtype">void</span> end_write(scoped_lock *);
<a name="l00204"></a>00204     <span class="keywordtype">bool</span> is_current_writer();
<a name="l00205"></a>00205 
<a name="l00207"></a>00207 
<a name="l00208"></a>00208     <span class="keywordtype">void</span> start_read(scoped_lock_read *);
<a name="l00210"></a>00210     <span class="keywordtype">void</span> unblock_readers();
<a name="l00212"></a>00212     <span class="keywordtype">void</span> end_read();
<a name="l00213"></a>00213 
<a name="l00215"></a>00215     atomic&lt;scoped_lock_read*&gt; reader_head;
<a name="l00217"></a>00217     atomic&lt;scoped_lock*&gt; writer_head;
<a name="l00219"></a>00219     atomic&lt;scoped_lock*&gt; writer_tail;
<a name="l00221"></a>00221     tbb_thread::id my_current_writer;
<a name="l00223"></a>00223     atomic&lt;unsigned&gt; rdr_count_and_flags;
<a name="l00224"></a>00224 };
<a name="l00225"></a>00225 
<a name="l00226"></a>00226 } <span class="comment">// namespace interface5</span>
<a name="l00227"></a>00227 
<a name="l00228"></a>00228 <span class="keyword">using</span> interface5::reader_writer_lock;
<a name="l00229"></a>00229 
<a name="l00230"></a>00230 } <span class="comment">// namespace tbb</span>
<a name="l00231"></a>00231 
<a name="l00232"></a>00232 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_reader_writer_lock_H */</span>
</pre></div><hr>
<p></p>
Copyright &copy; 2005-2010 Intel Corporation.  All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.
