<!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>critical_section.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>critical_section.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_CRITICAL_SECTION_H_</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define _TBB_CRITICAL_SECTION_H_</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;windows.h&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#else</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;errno.h&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#endif  // _WIN32||WIN64</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "tbb_stddef.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "tbb_thread.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "tbb_exception.h"</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="preprocessor">#include "tbb_profiling.h"</span>
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="keyword">namespace </span>tbb {
<a name="l00038"></a>00038 
<a name="l00039"></a>00039     <span class="keyword">namespace </span>internal {
<a name="l00040"></a>00040 <span class="keyword">class </span>critical_section_v4 : internal::no_copy {
<a name="l00041"></a>00041 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>    CRITICAL_SECTION my_impl;
<a name="l00043"></a>00043 <span class="preprocessor">#else</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span>    pthread_mutex_t my_impl;
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>    tbb_thread::id my_tid;
<a name="l00047"></a>00047 <span class="keyword">public</span>:
<a name="l00048"></a>00048 
<a name="l00049"></a>00049     <span class="keywordtype">void</span> __TBB_EXPORTED_METHOD internal_construct();
<a name="l00050"></a>00050 
<a name="l00051"></a>00051     critical_section_v4() { 
<a name="l00052"></a>00052 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>        InitializeCriticalSection(&amp;my_impl);
<a name="l00054"></a>00054 <span class="preprocessor">#else</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>        pthread_mutex_init(&amp;my_impl, NULL);
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>        internal_construct();
<a name="l00058"></a>00058     }
<a name="l00059"></a>00059 
<a name="l00060"></a>00060     ~critical_section_v4() {
<a name="l00061"></a>00061         __TBB_ASSERT(my_tid == tbb_thread::id(), <span class="stringliteral">"Destroying a still-held critical section"</span>);
<a name="l00062"></a>00062 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span>        DeleteCriticalSection(&amp;my_impl); 
<a name="l00064"></a>00064 <span class="preprocessor">#else</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>        pthread_mutex_destroy(&amp;my_impl);
<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span>    }
<a name="l00068"></a>00068 
<a name="l00069"></a>00069     <span class="keyword">class </span>scoped_lock : internal::no_copy {
<a name="l00070"></a>00070     <span class="keyword">private</span>:
<a name="l00071"></a>00071         critical_section_v4 &amp;my_crit;
<a name="l00072"></a>00072     <span class="keyword">public</span>:
<a name="l00073"></a>00073         scoped_lock( critical_section_v4&amp; lock_me) :my_crit(lock_me) {
<a name="l00074"></a>00074             my_crit.lock();
<a name="l00075"></a>00075         }
<a name="l00076"></a>00076 
<a name="l00077"></a>00077         ~scoped_lock() {
<a name="l00078"></a>00078             my_crit.unlock();
<a name="l00079"></a>00079         }
<a name="l00080"></a>00080     };
<a name="l00081"></a>00081 
<a name="l00082"></a>00082     <span class="keywordtype">void</span> lock() { 
<a name="l00083"></a>00083         tbb_thread::id local_tid = this_tbb_thread::get_id();
<a name="l00084"></a>00084         <span class="keywordflow">if</span>(local_tid == my_tid) throw_exception( eid_improper_lock );
<a name="l00085"></a>00085 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>        EnterCriticalSection( &amp;my_impl );
<a name="l00087"></a>00087 <span class="preprocessor">#else</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span>        <span class="keywordtype">int</span> rval = pthread_mutex_lock(&amp;my_impl);
<a name="l00089"></a>00089         __TBB_ASSERT_EX(!rval, <span class="stringliteral">"critical_section::lock: pthread_mutex_lock failed"</span>);
<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span>        __TBB_ASSERT(my_tid == tbb_thread::id(), NULL);
<a name="l00092"></a>00092         my_tid = local_tid;
<a name="l00093"></a>00093     }
<a name="l00094"></a>00094 
<a name="l00095"></a>00095     <span class="keywordtype">bool</span> try_lock() {
<a name="l00096"></a>00096         <span class="keywordtype">bool</span> gotlock;
<a name="l00097"></a>00097         tbb_thread::id local_tid = this_tbb_thread::get_id();
<a name="l00098"></a>00098         <span class="keywordflow">if</span>(local_tid == my_tid) <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00099"></a>00099 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span>        gotlock = TryEnterCriticalSection( &amp;my_impl ) != 0;
<a name="l00101"></a>00101 <span class="preprocessor">#else</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span>        <span class="keywordtype">int</span> rval = pthread_mutex_trylock(&amp;my_impl);
<a name="l00103"></a>00103         <span class="comment">// valid returns are 0 (locked) and [EBUSY]</span>
<a name="l00104"></a>00104         __TBB_ASSERT(rval == 0 || rval == EBUSY, <span class="stringliteral">"critical_section::trylock: pthread_mutex_trylock failed"</span>);
<a name="l00105"></a>00105         gotlock = rval == 0;
<a name="l00106"></a>00106 <span class="preprocessor">#endif</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span>        <span class="keywordflow">if</span>(gotlock)  {
<a name="l00108"></a>00108             my_tid = local_tid;
<a name="l00109"></a>00109         }
<a name="l00110"></a>00110         <span class="keywordflow">return</span> gotlock;
<a name="l00111"></a>00111     }
<a name="l00112"></a>00112 
<a name="l00113"></a>00113     <span class="keywordtype">void</span> unlock() {
<a name="l00114"></a>00114         __TBB_ASSERT(this_tbb_thread::get_id() == my_tid, <span class="stringliteral">"thread unlocking critical_section is not thread that locked it"</span>);
<a name="l00115"></a>00115         my_tid = tbb_thread::id();
<a name="l00116"></a>00116 <span class="preprocessor">#if _WIN32||_WIN64</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span>        LeaveCriticalSection( &amp;my_impl );
<a name="l00118"></a>00118 <span class="preprocessor">#else</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span>        <span class="keywordtype">int</span> rval = pthread_mutex_unlock(&amp;my_impl);
<a name="l00120"></a>00120         __TBB_ASSERT_EX(!rval, <span class="stringliteral">"critical_section::unlock: pthread_mutex_unlock failed"</span>);
<a name="l00121"></a>00121 <span class="preprocessor">#endif</span>
<a name="l00122"></a>00122 <span class="preprocessor"></span>    }
<a name="l00123"></a>00123 
<a name="l00124"></a>00124     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_rw_mutex = <span class="keyword">false</span>;
<a name="l00125"></a>00125     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_recursive_mutex = <span class="keyword">false</span>;
<a name="l00126"></a>00126     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> is_fair_mutex = <span class="keyword">true</span>;
<a name="l00127"></a>00127 }; <span class="comment">// critical_section_v4</span>
<a name="l00128"></a>00128 } <span class="comment">// namespace internal</span>
<a name="l00129"></a>00129 <span class="keyword">typedef</span> internal::critical_section_v4 critical_section;
<a name="l00130"></a>00130 
<a name="l00131"></a>00131 __TBB_DEFINE_PROFILING_SET_NAME(critical_section)
<a name="l00132"></a>00132 } <span class="comment">// namespace tbb</span>
<a name="l00133"></a>00133 <span class="preprocessor">#endif  // _TBB_CRITICAL_SECTION_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.
