<!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>Apache Portable Runtime: Thread portability Routines</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 Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul></div> <h1>Thread portability Routines<br> <small> [<a class="el" href="group__apr__portabile.html">Portability Routines</a>]</small> </h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#g8d4fdb7f450d2ffdf744c2f4547b500e">apr_os_thread_get</a> (<a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> **thethd, <a class="el" href="group__apr__thread__proc.html#gddee38a6ad1965ba15d2f1a34dfe0d25">apr_thread_t</a> *thd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#g5c8714e24c9e16fbd47700255f44e0ec">apr_os_threadkey_get</a> (<a class="el" href="group__apr__portabile.html#geae4e45abc9ebf50ba0e6c9864762b99">apr_os_threadkey_t</a> *thekey, <a class="el" href="group__apr__thread__proc.html#gc335c4ab7e18beab948b5147828b122f">apr_threadkey_t</a> *key)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#g54b2722a0d90450d350409e3c7360fa7">apr_os_thread_put</a> (<a class="el" href="group__apr__thread__proc.html#gddee38a6ad1965ba15d2f1a34dfe0d25">apr_thread_t</a> **thd, <a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> *thethd, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *cont)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#gf37e07c7851533a069c658e6e4d45dd3">apr_os_threadkey_put</a> (<a class="el" href="group__apr__thread__proc.html#gc335c4ab7e18beab948b5147828b122f">apr_threadkey_t</a> **key, <a class="el" href="group__apr__portabile.html#geae4e45abc9ebf50ba0e6c9864762b99">apr_os_threadkey_t</a> *thekey, <a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> *cont)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#ga848804efa9ca4090532060749d3169f">apr_os_thread_current</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__apr__os__thread.html#gab53efa485f203c09a5edc5a5bc3b8ea">apr_os_thread_equal</a> (<a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> tid1, <a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> tid2)</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="ga848804efa9ca4090532060749d3169f"></a><!-- doxytag: member="apr_portable.h::apr_os_thread_current" ref="ga848804efa9ca4090532060749d3169f" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> apr_os_thread_current </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Get the thread ID </div> </div><p> <a class="anchor" name="gab53efa485f203c09a5edc5a5bc3b8ea"></a><!-- doxytag: member="apr_portable.h::apr_os_thread_equal" ref="gab53efa485f203c09a5edc5a5bc3b8ea" args="(apr_os_thread_t tid1, apr_os_thread_t tid2)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int apr_os_thread_equal </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> </td> <td class="paramname"> <em>tid1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> </td> <td class="paramname"> <em>tid2</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Compare two thread id's <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>tid1</em> </td><td>1st Thread ID to compare </td></tr> <tr><td valign="top"></td><td valign="top"><em>tid2</em> </td><td>2nd Thread ID to compare </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g8d4fdb7f450d2ffdf744c2f4547b500e"></a><!-- doxytag: member="apr_portable.h::apr_os_thread_get" ref="g8d4fdb7f450d2ffdf744c2f4547b500e" args="(apr_os_thread_t **thethd, apr_thread_t *thd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_os_thread_get </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> ** </td> <td class="paramname"> <em>thethd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__thread__proc.html#gddee38a6ad1965ba15d2f1a34dfe0d25">apr_thread_t</a> * </td> <td class="paramname"> <em>thd</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert the thread to os specific type from apr type. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>thethd</em> </td><td>The apr thread to convert </td></tr> <tr><td valign="top"></td><td valign="top"><em>thd</em> </td><td>The os specific thread we are converting to </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g54b2722a0d90450d350409e3c7360fa7"></a><!-- doxytag: member="apr_portable.h::apr_os_thread_put" ref="g54b2722a0d90450d350409e3c7360fa7" args="(apr_thread_t **thd, apr_os_thread_t *thethd, apr_pool_t *cont)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_os_thread_put </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__thread__proc.html#gddee38a6ad1965ba15d2f1a34dfe0d25">apr_thread_t</a> ** </td> <td class="paramname"> <em>thd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#g3eaee63bfc71b3637042ad12e95ec990">apr_os_thread_t</a> * </td> <td class="paramname"> <em>thethd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> * </td> <td class="paramname"> <em>cont</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert the thread from os specific type to apr type. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>thd</em> </td><td>The apr thread we are converting to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>thethd</em> </td><td>The os specific thread to convert </td></tr> <tr><td valign="top"></td><td valign="top"><em>cont</em> </td><td>The pool to use if it is needed. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="g5c8714e24c9e16fbd47700255f44e0ec"></a><!-- doxytag: member="apr_portable.h::apr_os_threadkey_get" ref="g5c8714e24c9e16fbd47700255f44e0ec" args="(apr_os_threadkey_t *thekey, apr_threadkey_t *key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_os_threadkey_get </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#geae4e45abc9ebf50ba0e6c9864762b99">apr_os_threadkey_t</a> * </td> <td class="paramname"> <em>thekey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__thread__proc.html#gc335c4ab7e18beab948b5147828b122f">apr_threadkey_t</a> * </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert the thread private memory key to os specific type from an apr type. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>thekey</em> </td><td>The apr handle we are converting from. </td></tr> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>The os specific handle we are converting to. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="gf37e07c7851533a069c658e6e4d45dd3"></a><!-- doxytag: member="apr_portable.h::apr_os_threadkey_put" ref="gf37e07c7851533a069c658e6e4d45dd3" args="(apr_threadkey_t **key, apr_os_threadkey_t *thekey, apr_pool_t *cont)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__apr__errno.html#g4cf2ddae3efce70c508ac7fefc1c47f7">apr_status_t</a> apr_os_threadkey_put </td> <td>(</td> <td class="paramtype"><a class="el" href="group__apr__thread__proc.html#gc335c4ab7e18beab948b5147828b122f">apr_threadkey_t</a> ** </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__portabile.html#geae4e45abc9ebf50ba0e6c9864762b99">apr_os_threadkey_t</a> * </td> <td class="paramname"> <em>thekey</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__apr__pools.html#g06f17a7732f2d04d8ce7010fbb057a8b">apr_pool_t</a> * </td> <td class="paramname"> <em>cont</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> convert the thread private memory key from os specific type to apr type. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>The apr handle we are converting to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>thekey</em> </td><td>The os specific handle to convert </td></tr> <tr><td valign="top"></td><td valign="top"><em>cont</em> </td><td>The pool to use if it is needed. </td></tr> </table> </dl> </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on Tue May 31 12:20:26 2011 for Apache Portable Runtime by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>