<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.16.1" xml:lang="en-US">
  <compounddef id="namespacegr_1_1thread" kind="namespace" language="C++">
    <compoundname>gr::thread</compoundname>
    <innerclass refid="classgr_1_1thread_1_1thread__body__wrapper" prot="public">gr::thread::thread_body_wrapper</innerclass>
    <innerclass refid="classgr_1_1thread_1_1thread__group" prot="public">gr::thread::thread_group</innerclass>
    <sectiondef kind="typedef">
      <memberdef kind="typedef" id="namespacegr_1_1thread_1a8db1729ee02223979eb266b92f6cdd64" prot="public" static="no">
        <type>boost::thread</type>
        <definition>typedef boost::thread gr::thread::thread</definition>
        <argsstring></argsstring>
        <name>thread</name>
        <qualifiedname>gr::thread::thread</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="36" column="23" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="36" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespacegr_1_1thread_1a36ddd13da52283c5a38d285cd901d348" prot="public" static="no">
        <type>boost::mutex</type>
        <definition>typedef boost::mutex gr::thread::mutex</definition>
        <argsstring></argsstring>
        <name>mutex</name>
        <qualifiedname>gr::thread::mutex</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="37" column="22" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="37" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespacegr_1_1thread_1a52544c0aefde22b130e0beabece1683b" prot="public" static="no">
        <type>boost::unique_lock&lt; boost::mutex &gt;</type>
        <definition>typedef boost::unique_lock&lt;boost::mutex&gt; gr::thread::scoped_lock</definition>
        <argsstring></argsstring>
        <name>scoped_lock</name>
        <qualifiedname>gr::thread::scoped_lock</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="38" column="28" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="38" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespacegr_1_1thread_1ac97ac5b9c82b9ec0cefde945f89b90b2" prot="public" static="no">
        <type>boost::condition_variable</type>
        <definition>typedef boost::condition_variable gr::thread::condition_variable</definition>
        <argsstring></argsstring>
        <name>condition_variable</name>
        <qualifiedname>gr::thread::condition_variable</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="39" column="35" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="39" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespacegr_1_1thread_1a2207528267c984d64944456ddb325788" prot="public" static="no">
        <type>boost::barrier</type>
        <definition>typedef boost::barrier gr::thread::barrier</definition>
        <argsstring></argsstring>
        <name>barrier</name>
        <qualifiedname>gr::thread::barrier</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="40" column="24" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="40" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" prot="public" static="no">
        <type>pthread_t</type>
        <definition>typedef pthread_t gr::thread::gr_thread_t</definition>
        <argsstring></argsstring>
        <name>gr_thread_t</name>
        <qualifiedname>gr::thread::gr_thread_t</qualifiedname>
        <briefdescription>
<para>a system-dependent typedef for the underlying thread type. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="50" column="19" bodyfile="gnuradio-runtime/include/gnuradio/thread/thread.h" bodystart="50" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="func">
      <memberdef kind="function" id="namespacegr_1_1thread_1af9dc23036fa4f6453bbaa7b3060471e9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> <ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
        <definition>GR_RUNTIME_API gr_thread_t gr::thread::get_current_thread_id</definition>
        <argsstring>()</argsstring>
        <name>get_current_thread_id</name>
        <qualifiedname>gr::thread::get_current_thread_id</qualifiedname>
        <briefdescription>
<para>Get the current thread&apos;s ID as a <ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref>. </para>
        </briefdescription>
        <detaileddescription>
<para>We use this when setting the thread affinity or any other low-level thread settings. Can be called within a GNU Radio block to get a reference to its current thread ID. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="59" column="28" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="59" declcolumn="28"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1aab5195edcd94db5c71ecbfef9d578fb7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_bind_to_processor</definition>
        <argsstring>(const std::vector&lt; int &gt; &amp;mask)</argsstring>
        <name>thread_bind_to_processor</name>
        <qualifiedname>gr::thread::thread_bind_to_processor</qualifiedname>
        <param>
          <type>const std::vector&lt; int &gt; &amp;</type>
          <declname>mask</declname>
        </param>
        <briefdescription>
<para>Bind the current thread to a set of cores. </para>
        </briefdescription>
        <detaileddescription>
<para>Wrapper for system-dependent calls to set the affinity of the current thread to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.</para>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="73" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="73" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1ae23f95be1fc574c35d859bd3cfe0b871" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_bind_to_processor</definition>
        <argsstring>(int n)</argsstring>
        <name>thread_bind_to_processor</name>
        <qualifiedname>gr::thread::thread_bind_to_processor</qualifiedname>
        <param>
          <type>int</type>
          <declname>n</declname>
        </param>
        <briefdescription>
<para>Convineince function to bind the current thread to a single core. </para>
        </briefdescription>
        <detaileddescription>
<para>Wrapper for system-dependent calls to set the affinity of the current thread to a given core from 0 to N-1 for N cores.</para>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="85" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="85" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1ae678d80205037a6754e1db33ce624c73" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_bind_to_processor</definition>
        <argsstring>(gr_thread_t thread, const std::vector&lt; int &gt; &amp;mask)</argsstring>
        <name>thread_bind_to_processor</name>
        <qualifiedname>gr::thread::thread_bind_to_processor</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <param>
          <type>const std::vector&lt; int &gt; &amp;</type>
          <declname>mask</declname>
        </param>
        <briefdescription>
<para>Bind a thread to a set of cores. </para>
        </briefdescription>
        <detaileddescription>
<para>Wrapper for system-dependent calls to set the affinity of the given thread ID to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.</para>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="99" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="99" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a42e7788c620059641262a0e5bca55b3c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_bind_to_processor</definition>
        <argsstring>(gr_thread_t thread, unsigned int n)</argsstring>
        <name>thread_bind_to_processor</name>
        <qualifiedname>gr::thread::thread_bind_to_processor</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>n</declname>
        </param>
        <briefdescription>
<para>Convineince function to bind the a thread to a single core. </para>
        </briefdescription>
        <detaileddescription>
<para>Wrapper for system-dependent calls to set the affinity of the given thread ID to a given core from 0 to N-1 for N cores.</para>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="113" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="113" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a889aef68ac073f83d081d3bcd891690a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_unbind</definition>
        <argsstring>()</argsstring>
        <name>thread_unbind</name>
        <qualifiedname>gr::thread::thread_unbind</qualifiedname>
        <briefdescription>
<para>Remove any thread-processor affinity for the current thread. </para>
        </briefdescription>
        <detaileddescription>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="122" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="122" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a28f34a4485edf04058fa99301359601a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::thread_unbind</definition>
        <argsstring>(gr_thread_t thread)</argsstring>
        <name>thread_unbind</name>
        <qualifiedname>gr::thread::thread_unbind</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <briefdescription>
<para>Remove any thread-processor affinity for a given thread ID. </para>
        </briefdescription>
        <detaileddescription>
<para>Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="131" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="131" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a64a376b8fa10a566269f9e7a86b97205" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> int</type>
        <definition>GR_RUNTIME_API int gr::thread::thread_priority</definition>
        <argsstring>(gr_thread_t thread)</argsstring>
        <name>thread_priority</name>
        <qualifiedname>gr::thread::thread_priority</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <briefdescription>
<para>get current thread priority for a given thread ID </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="135" column="20" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="135" declcolumn="20"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a85100d09be39d5d2370b8b5ae51e8791" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> int</type>
        <definition>GR_RUNTIME_API int gr::thread::set_thread_priority</definition>
        <argsstring>(gr_thread_t thread, int priority)</argsstring>
        <name>set_thread_priority</name>
        <qualifiedname>gr::thread::set_thread_priority</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <param>
          <type>int</type>
          <declname>priority</declname>
        </param>
        <briefdescription>
<para>set current thread priority for a given thread ID </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="139" column="20" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="139" declcolumn="20"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1a63869d62882eb2216b0fa8c95ef82854" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::set_thread_name</definition>
        <argsstring>(gr_thread_t thread, std::string name)</argsstring>
        <name>set_thread_name</name>
        <qualifiedname>gr::thread::set_thread_name</qualifiedname>
        <param>
          <type><ref refid="namespacegr_1_1thread_1aa33c619fe30adea573dec1d14ae7ff53" kindref="member">gr_thread_t</ref></type>
          <declname>thread</declname>
        </param>
        <param>
          <type>std::string</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="141" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread.h" declline="141" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
      </memberdef>
      <memberdef kind="function" id="namespacegr_1_1thread_1ae44f2973136864aedbd453b601f1f9e1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" kindref="member">GR_RUNTIME_API</ref> void</type>
        <definition>GR_RUNTIME_API void gr::thread::mask_signals</definition>
        <argsstring>()</argsstring>
        <name>mask_signals</name>
        <qualifiedname>gr::thread::mask_signals</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/thread/thread_body_wrapper.h" line="22" column="21" declfile="gnuradio-runtime/include/gnuradio/thread/thread_body_wrapper.h" declline="22" declcolumn="21"/>
        <references refid="gnuradio-runtime_2include_2gnuradio_2api_8h_1a0e21de31348d61429c7041fa776dc934" compoundref="gnuradio-runtime_2include_2gnuradio_2api_8h" startline="18">GR_RUNTIME_API</references>
        <referencedby refid="classgr_1_1thread_1_1thread__body__wrapper_1ad10e18fab1a17432167492b15045dd8d" compoundref="thread__body__wrapper_8h" startline="43" endline="64">gr::thread::thread_body_wrapper&lt; F &gt;::operator()</referencedby>
      </memberdef>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="gnuradio-runtime/include/gnuradio/thread/thread.h" line="34" column="1"/>
  </compounddef>
</doxygen>
