<?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.7.3"> <compounddef id="classmbi__runtime__lock" kind="class" prot="public"> <compoundname>mbi_runtime_lock</compoundname> <includes refid="mbi__runtime__lock_8h" local="no">mbi_runtime_lock.h</includes> <sectiondef kind="private-attrib"> <memberdef kind="variable" id="classmbi__runtime__lock_1a6dbff9a0f80f4d253869f992985498b5" prot="private" static="no" mutable="no"> <type><ref refid="classmb__runtime__base" kindref="compound">mb_runtime_base</ref> *</type> <definition>mb_runtime_base* mbi_runtime_lock::d_rt</definition> <argsstring></argsstring> <name>d_rt</name> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="51" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="51" bodyend="-1"/> </memberdef> </sectiondef> <sectiondef kind="public-func"> <memberdef kind="function" id="classmbi__runtime__lock_1a91868971e4953dc526ddf86b477edbd3" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type></type> <definition>mbi_runtime_lock::mbi_runtime_lock</definition> <argsstring>(mb_runtime_base *rt)</argsstring> <name>mbi_runtime_lock</name> <param> <type><ref refid="classmb__runtime__base" kindref="compound">mb_runtime_base</ref> *</type> <declname>rt</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="53" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="53" bodyend="53"/> <references refid="classmb__runtime__base_1ac9944a6774ab7ba81eca59d1ea0e673f" compoundref="mb__runtime__base_8h" startline="45" endline="45">mb_runtime_base::lock</references> </memberdef> <memberdef kind="function" id="classmbi__runtime__lock_1a7db7ee73b22300cfbe77728ce50e26ff" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type></type> <definition>mbi_runtime_lock::mbi_runtime_lock</definition> <argsstring>(mb_mblock_impl *mi)</argsstring> <name>mbi_runtime_lock</name> <param> <type><ref refid="classmb__mblock__impl" kindref="compound">mb_mblock_impl</ref> *</type> <declname>mi</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="54" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="54" bodyend="54"/> <references refid="classmb__runtime__base_1ac9944a6774ab7ba81eca59d1ea0e673f" compoundref="mb__runtime__base_8h" startline="45" endline="45">mb_runtime_base::lock</references> </memberdef> <memberdef kind="function" id="classmbi__runtime__lock_1a22937b7728566aee4a8e1ecab1d120e4" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type></type> <definition>mbi_runtime_lock::mbi_runtime_lock</definition> <argsstring>(mb_mblock *mb)</argsstring> <name>mbi_runtime_lock</name> <param> <type><ref refid="classmb__mblock" kindref="compound">mb_mblock</ref> *</type> <declname>mb</declname> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="55" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="55" bodyend="55"/> <references refid="classmb__runtime__base_1ac9944a6774ab7ba81eca59d1ea0e673f" compoundref="mb__runtime__base_8h" startline="45" endline="45">mb_runtime_base::lock</references> </memberdef> <memberdef kind="function" id="classmbi__runtime__lock_1ab1d3643d42a9040b71a0d4b1c5fec255" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual"> <type></type> <definition>mbi_runtime_lock::~mbi_runtime_lock</definition> <argsstring>(void)</argsstring> <name>~mbi_runtime_lock</name> <param> <type>void</type> </param> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <inbodydescription> </inbodydescription> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="56" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="56" bodyend="56"/> <references refid="classmb__runtime__base_1abb6d8310dfeec507938fef91425a963a" compoundref="mb__runtime__base_8h" startline="51" endline="51">mb_runtime_base::unlock</references> </memberdef> </sectiondef> <briefdescription> <para>acquire and release big runtime lock </para> </briefdescription> <detaileddescription> <para>As an alternative to: { rt->lock(); ..... rt->unlock(); }</para><para>you can use a single instance of the <ref refid="classmbi__runtime__lock" kindref="compound">mbi_runtime_lock</ref> class:</para><para>{ <ref refid="classmbi__runtime__lock" kindref="compound">mbi_runtime_lock</ref> l(rt); .... }</para><para>This has the advantage that rt->unlock() will be called automatically when an exception is thrown. </para> </detaileddescription> <collaborationgraph> <node id="15502"> <label>T</label> </node> <node id="15477"> <label>mb_runtime_base</label> <link refid="classmb__runtime__base"/> <childnode refid="15478" relation="public-inheritance"> </childnode> <childnode refid="15503" relation="usage"> <edgelabel>d_accepter</edgelabel> </childnode> <childnode refid="15498" relation="usage"> <edgelabel>d_brl</edgelabel> </childnode> </node> <node id="15495"> <label>boost::shared_ptr< mb_message ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15496" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15500"> <label>std::map< std::string, mb_port_sptr ></label> <childnode refid="15501" relation="usage"> <edgelabel>elements</edgelabel> </childnode> <childnode refid="15491" relation="usage"> <edgelabel>keys</edgelabel> </childnode> </node> <node id="15496"> <label>mb_message</label> <link refid="classmb__message"/> <childnode refid="15495" relation="usage"> <edgelabel>d_next</edgelabel> </childnode> <childnode refid="15489" relation="usage"> <edgelabel>d_port_id</edgelabel> <edgelabel>d_data</edgelabel> <edgelabel>d_metadata</edgelabel> <edgelabel>d_signal</edgelabel> </childnode> </node> <node id="15501"> <label>boost::shared_ptr< T ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15502" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15478"> <label>mb_runtime</label> <link refid="classmb__runtime"/> <childnode refid="15479" relation="usage"> <edgelabel>d_top</edgelabel> </childnode> </node> <node id="15482"> <label>mb_mblock_impl</label> <link refid="classmb__mblock__impl"/> <childnode refid="15483" relation="usage"> <edgelabel>d_conn_table</edgelabel> </childnode> <childnode refid="15493" relation="usage"> <edgelabel>d_msgq</edgelabel> </childnode> <childnode refid="15480" relation="usage"> <edgelabel>d_mb</edgelabel> <edgelabel>d_mb_parent</edgelabel> </childnode> <childnode refid="15477" relation="usage"> <edgelabel>d_runtime</edgelabel> </childnode> <childnode refid="15491" relation="usage"> <edgelabel>d_class_name</edgelabel> <edgelabel>d_instance_name</edgelabel> </childnode> <childnode refid="15499" relation="usage"> <edgelabel>d_comp_map</edgelabel> </childnode> <childnode refid="15500" relation="usage"> <edgelabel>d_port_map</edgelabel> </childnode> </node> <node id="15488"> <label>mb_port</label> <link refid="classmb__port"/> <childnode refid="15480" relation="usage"> <edgelabel>d_mblock</edgelabel> </childnode> <childnode refid="15489" relation="usage"> <edgelabel>d_protocol_class</edgelabel> <edgelabel>d_port_symbol</edgelabel> </childnode> <childnode refid="15491" relation="usage"> <edgelabel>d_port_name</edgelabel> </childnode> </node> <node id="15479"> <label>boost::shared_ptr< mb_mblock ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15480" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15486"> <label>mb_endpoint</label> <link refid="classmb__endpoint"/> <childnode refid="15487" relation="usage"> <edgelabel>d_port</edgelabel> </childnode> <childnode refid="15491" relation="usage"> <edgelabel>d_component_name</edgelabel> <edgelabel>d_port_name</edgelabel> </childnode> </node> <node id="15485"> <label>mb_connection</label> <link refid="structmb__connection"/> <childnode refid="15486" relation="usage"> <edgelabel>d_ep</edgelabel> </childnode> </node> <node id="15492"> <label>std::basic_string< char ></label> </node> <node id="15476"> <label>mbi_runtime_lock</label> <link refid="classmbi__runtime__lock"/> <childnode refid="15477" relation="usage"> <edgelabel>d_rt</edgelabel> </childnode> </node> <node id="15480"> <label>mb_mblock</label> <link refid="classmb__mblock"/> <childnode refid="15481" relation="usage"> <edgelabel>d_impl</edgelabel> </childnode> </node> <node id="15494"> <label>mb_msg_queue::subq</label> <childnode refid="15495" relation="usage"> <edgelabel>head</edgelabel> <edgelabel>tail</edgelabel> </childnode> </node> <node id="15487"> <label>boost::shared_ptr< mb_port ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15488" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15483"> <label>mb_conn_table</label> <link refid="classmb__conn__table"/> <childnode refid="15484" relation="usage"> <edgelabel>d_connections</edgelabel> </childnode> </node> <node id="15503"> <label>boost::shared_ptr< mb_msg_accepter ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15504" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15489"> <label>boost::shared_ptr< pmt_base ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15490" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15490"> <label>pmt_base</label> <link refid="classpmt__base"/> </node> <node id="15493"> <label>mb_msg_queue</label> <link refid="classmb__msg__queue"/> <childnode refid="15494" relation="usage"> <edgelabel>d_queue</edgelabel> </childnode> <childnode refid="15497" relation="usage"> <edgelabel>d_not_empty</edgelabel> </childnode> <childnode refid="15498" relation="usage"> <edgelabel>d_mutex</edgelabel> </childnode> </node> <node id="15497"> <label>omni_condition</label> <link refid="classomni__condition"/> <childnode refid="15498" relation="usage"> <edgelabel>mutex</edgelabel> </childnode> </node> <node id="15499"> <label>std::map< std::string, mb_mblock_sptr ></label> <childnode refid="15479" relation="usage"> <edgelabel>elements</edgelabel> </childnode> <childnode refid="15491" relation="usage"> <edgelabel>keys</edgelabel> </childnode> </node> <node id="15481"> <label>boost::shared_ptr< mb_mblock_impl ></label> <link refid="classboost_1_1shared__ptr"/> <childnode refid="15482" relation="usage"> <edgelabel>px</edgelabel> </childnode> </node> <node id="15504"> <label>mb_msg_accepter</label> <link refid="classmb__msg__accepter"/> </node> <node id="15484"> <label>std::list< mb_connection ></label> <childnode refid="15485" relation="usage"> <edgelabel>elements</edgelabel> </childnode> </node> <node id="15491"> <label>std::string</label> <childnode refid="15492" relation="public-inheritance"> </childnode> </node> <node id="15498"> <label>omni_mutex</label> <link refid="classomni__mutex"/> </node> </collaborationgraph> <location file="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" line="50" bodyfile="/builddir/build/BUILD/gnuradio-3.2.2/mblock/src/lib/mbi_runtime_lock.h" bodystart="50" bodyend="58"/> <listofallmembers> <member refid="classmbi__runtime__lock_1a6dbff9a0f80f4d253869f992985498b5" prot="private" virt="non-virtual"><scope>mbi_runtime_lock</scope><name>d_rt</name></member> <member refid="classmbi__runtime__lock_1a91868971e4953dc526ddf86b477edbd3" prot="public" virt="non-virtual"><scope>mbi_runtime_lock</scope><name>mbi_runtime_lock</name></member> <member refid="classmbi__runtime__lock_1a7db7ee73b22300cfbe77728ce50e26ff" prot="public" virt="non-virtual"><scope>mbi_runtime_lock</scope><name>mbi_runtime_lock</name></member> <member refid="classmbi__runtime__lock_1a22937b7728566aee4a8e1ecab1d120e4" prot="public" virt="non-virtual"><scope>mbi_runtime_lock</scope><name>mbi_runtime_lock</name></member> <member refid="classmbi__runtime__lock_1ab1d3643d42a9040b71a0d4b1c5fec255" prot="public" virt="non-virtual"><scope>mbi_runtime_lock</scope><name>~mbi_runtime_lock</name></member> </listofallmembers> </compounddef> </doxygen>