Home | History | Annotate | Download | only in oscl_html
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      3 <title>OsclThread class Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
      9 <hr><h1>OsclThread Class Reference</h1><code>#include &lt;<a class="el" href="oscl__thread_8h-source.html">oscl_thread.h</a>&gt;</code>
     10 <p>
     11 <table border=0 cellpadding=0 cellspacing=0>
     12 <tr><td></td></tr>
     13 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
     14 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a0">OsclThread</a> ()</td></tr>
     15 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a1">~OsclThread</a> ()</td></tr>
     16 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a2">Create</a> (<a class="el" href="oscl__thread_8h.html#a0">TOsclThreadFuncPtr</a> func, int32 stack_size, <a class="el" href="osclconfig__proc__unix__android_8h.html#a7">TOsclThreadFuncArg</a> argument, <a class="el" href="oscl__thread_8h.html#a10">OsclThread_State</a> state=Start_on_creation)</td></tr>
     17 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a3">GetPriority</a> (<a class="el" href="oscl__thread_8h.html#a11">OsclThreadPriority</a> &amp;refThreadPriority)</td></tr>
     18 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a4">SetPriority</a> (<a class="el" href="oscl__thread_8h.html#a11">OsclThreadPriority</a> ePriority)</td></tr>
     19 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a5">Suspend</a> ()</td></tr>
     20 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a6">Resume</a> ()</td></tr>
     21 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#a7">Terminate</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *exitcode)</td></tr>
     22 <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
     23 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#d0">Exit</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *exitcode)</td></tr>
     24 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#d1">EnableKill</a> ()</td></tr>
     25 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a>&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#d2">GetId</a> (<a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;refThreadId)</td></tr>
     26 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#d3">CompareId</a> (<a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;t1, <a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;t2)</td></tr>
     27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOsclThread.html#d4">SleepMillisec</a> (const int32 msec)</td></tr>
     28 </table>
     29 <hr><a name="_details"></a><h2>Detailed Description</h2>
     30 Thread Class. A subset of Thread APIs. It implements platform independendent APIs for thread creation, exiting, suspend, resume, priority and termination. With the use of proper defines it implements the basic thread festures. It provides an opaque layer through which user doesn't need to worry about OS specific data. 
     31 <p>
     32 <hr><h2>Constructor &amp; Destructor Documentation</h2>
     33 <a name="a0" doxytag="OsclThread::OsclThread"></a><p>
     34 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     35   <tr>
     36     <td class="md">
     37       <table cellpadding="0" cellspacing="0" border="0">
     38         <tr>
     39           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclThread::OsclThread </td>
     40           <td class="md" valign="top">(&nbsp;</td>
     41           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
     42           <td class="md" valign="top">)&nbsp;</td>
     43           <td class="md" nowrap></td>
     44         </tr>
     45 
     46       </table>
     47     </td>
     48   </tr>
     49 </table>
     50 <table cellspacing=5 cellpadding=0 border=0>
     51   <tr>
     52     <td>
     53       &nbsp;
     54     </td>
     55     <td>
     56 
     57 <p>
     58 Class constructor     </td>
     59   </tr>
     60 </table>
     61 <a name="a1" doxytag="OsclThread::~OsclThread"></a><p>
     62 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     63   <tr>
     64     <td class="md">
     65       <table cellpadding="0" cellspacing="0" border="0">
     66         <tr>
     67           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OsclThread::~OsclThread </td>
     68           <td class="md" valign="top">(&nbsp;</td>
     69           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
     70           <td class="md" valign="top">)&nbsp;</td>
     71           <td class="md" nowrap></td>
     72         </tr>
     73 
     74       </table>
     75     </td>
     76   </tr>
     77 </table>
     78 <table cellspacing=5 cellpadding=0 border=0>
     79   <tr>
     80     <td>
     81       &nbsp;
     82     </td>
     83     <td>
     84 
     85 <p>
     86 Class destructor     </td>
     87   </tr>
     88 </table>
     89 <hr><h2>Member Function Documentation</h2>
     90 <a name="d3" doxytag="OsclThread::CompareId"></a><p>
     91 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     92   <tr>
     93     <td class="md">
     94       <table cellpadding="0" cellspacing="0" border="0">
     95         <tr>
     96           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool OsclThread::CompareId </td>
     97           <td class="md" valign="top">(&nbsp;</td>
     98           <td class="md" nowrap valign="top"><a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;&nbsp;</td>
     99           <td class="mdname" nowrap>&nbsp; <em>t1</em>, </td>
    100         </tr>
    101         <tr>
    102           <td></td>
    103           <td></td>
    104           <td class="md" nowrap><a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;&nbsp;</td>
    105           <td class="mdname" nowrap>&nbsp; <em>t2</em></td>
    106         </tr>
    107         <tr>
    108           <td></td>
    109           <td class="md">)&nbsp;</td>
    110           <td class="md" colspan="2"><code> [static]</code></td>
    111         </tr>
    112 
    113       </table>
    114     </td>
    115   </tr>
    116 </table>
    117 <table cellspacing=5 cellpadding=0 border=0>
    118   <tr>
    119     <td>
    120       &nbsp;
    121     </td>
    122     <td>
    123 
    124 <p>
    125 Static routine to compare whether two thread ID's are equal. <dl compact><dt><b>Parameters: </b></dt><dd>
    126 <table border=0 cellspacing=2 cellpadding=0>
    127 <tr><td valign=top><em>t1, t2:</em>&nbsp;</td><td>
    128 thread ID passed by the application </td></tr>
    129 </table>
    130 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    131 true if equal. </dl>    </td>
    132   </tr>
    133 </table>
    134 <a name="a2" doxytag="OsclThread::Create"></a><p>
    135 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    136   <tr>
    137     <td class="md">
    138       <table cellpadding="0" cellspacing="0" border="0">
    139         <tr>
    140           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::Create </td>
    141           <td class="md" valign="top">(&nbsp;</td>
    142           <td class="md" nowrap valign="top"><a class="el" href="oscl__thread_8h.html#a0">TOsclThreadFuncPtr</a>&nbsp;</td>
    143           <td class="mdname" nowrap>&nbsp; <em>func</em>, </td>
    144         </tr>
    145         <tr>
    146           <td></td>
    147           <td></td>
    148           <td class="md" nowrap>int32&nbsp;</td>
    149           <td class="mdname" nowrap>&nbsp; <em>stack_size</em>, </td>
    150         </tr>
    151         <tr>
    152           <td></td>
    153           <td></td>
    154           <td class="md" nowrap><a class="el" href="osclconfig__proc__unix__android_8h.html#a7">TOsclThreadFuncArg</a>&nbsp;</td>
    155           <td class="mdname" nowrap>&nbsp; <em>argument</em>, </td>
    156         </tr>
    157         <tr>
    158           <td></td>
    159           <td></td>
    160           <td class="md" nowrap><a class="el" href="oscl__thread_8h.html#a10">OsclThread_State</a>&nbsp;</td>
    161           <td class="mdname" nowrap>&nbsp; <em>state</em> = Start_on_creation</td>
    162         </tr>
    163         <tr>
    164           <td></td>
    165           <td class="md">)&nbsp;</td>
    166           <td class="md" colspan="2"></td>
    167         </tr>
    168 
    169       </table>
    170     </td>
    171   </tr>
    172 </table>
    173 <table cellspacing=5 cellpadding=0 border=0>
    174   <tr>
    175     <td>
    176       &nbsp;
    177     </td>
    178     <td>
    179 
    180 <p>
    181 This routine will create a thread. The thread may be launched immediately or may be created in a suspended state and launched with a Resume call.<dl compact><dt><b>Parameters: </b></dt><dd>
    182 <table border=0 cellspacing=2 cellpadding=0>
    183 <tr><td valign=top><em>func</em>&nbsp;</td><td>
    184 = Name of the thread Function stack_size = Size of the thread stack. If zero, then the platform-specific default stack size will be used. argument = Argument to be passed to thread function state = Enumeration which specifies the state of the thread on creation with values Running and Suspend. Note: the Suspend option may not be available on all platforms. If it is not supported, the Create call will return INVALID_PARAM_ERROR. </td></tr>
    185 </table>
    186 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    187 eOsclProcError </dl>    </td>
    188   </tr>
    189 </table>
    190 <a name="d1" doxytag="OsclThread::EnableKill"></a><p>
    191 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    192   <tr>
    193     <td class="md">
    194       <table cellpadding="0" cellspacing="0" border="0">
    195         <tr>
    196           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclThread::EnableKill </td>
    197           <td class="md" valign="top">(&nbsp;</td>
    198           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    199           <td class="md" valign="top">)&nbsp;</td>
    200           <td class="md" nowrap><code> [static]</code></td>
    201         </tr>
    202 
    203       </table>
    204     </td>
    205   </tr>
    206 </table>
    207 <table cellspacing=5 cellpadding=0 border=0>
    208   <tr>
    209     <td>
    210       &nbsp;
    211     </td>
    212     <td>
    213 
    214 <p>
    215 EnableKill is a static function which can be called by the thread routine in order to enable thread termination without waiting for cancellation points. EnableKill only applies to pthread implementations. For other implementations this function will do nothing.
    216 <p>
    217 <dl compact><dt><b>Returns: </b></dt><dd>
    218 None </dl>    </td>
    219   </tr>
    220 </table>
    221 <a name="d0" doxytag="OsclThread::Exit"></a><p>
    222 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    223   <tr>
    224     <td class="md">
    225       <table cellpadding="0" cellspacing="0" border="0">
    226         <tr>
    227           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclThread::Exit </td>
    228           <td class="md" valign="top">(&nbsp;</td>
    229           <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
    230           <td class="mdname1" valign="top" nowrap>&nbsp; <em>exitcode</em>          </td>
    231           <td class="md" valign="top">)&nbsp;</td>
    232           <td class="md" nowrap><code> [static]</code></td>
    233         </tr>
    234 
    235       </table>
    236     </td>
    237   </tr>
    238 </table>
    239 <table cellspacing=5 cellpadding=0 border=0>
    240   <tr>
    241     <td>
    242       &nbsp;
    243     </td>
    244     <td>
    245 
    246 <p>
    247 Exit is a static function which is used to end the current thread. When called it just ends the execution of the current thread. <dl compact><dt><b>Parameters: </b></dt><dd>
    248 <table border=0 cellspacing=2 cellpadding=0>
    249 <tr><td valign=top><em>exitcode</em>&nbsp;</td><td>
    250 = Exitcode of the thread. This can be used by other threads to know the exit status of this thread. </td></tr>
    251 </table>
    252 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    253 None </dl>    </td>
    254   </tr>
    255 </table>
    256 <a name="d2" doxytag="OsclThread::GetId"></a><p>
    257 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    258   <tr>
    259     <td class="md">
    260       <table cellpadding="0" cellspacing="0" border="0">
    261         <tr>
    262           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::GetId </td>
    263           <td class="md" valign="top">(&nbsp;</td>
    264           <td class="md" nowrap valign="top"><a class="el" href="osclconfig__proc__unix__android_8h.html#a6">TOsclThreadId</a> &amp;&nbsp;</td>
    265           <td class="mdname1" valign="top" nowrap>&nbsp; <em>refThreadId</em>          </td>
    266           <td class="md" valign="top">)&nbsp;</td>
    267           <td class="md" nowrap><code> [static]</code></td>
    268         </tr>
    269 
    270       </table>
    271     </td>
    272   </tr>
    273 </table>
    274 <table cellspacing=5 cellpadding=0 border=0>
    275   <tr>
    276     <td>
    277       &nbsp;
    278     </td>
    279     <td>
    280 
    281 <p>
    282 Static routine to retrieve ID of calling thread. <dl compact><dt><b>Parameters: </b></dt><dd>
    283 <table border=0 cellspacing=2 cellpadding=0>
    284 <tr><td valign=top><em>Thread</em>&nbsp;</td><td>
    285 ID passed by the application </td></tr>
    286 </table>
    287 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    288 Error code </dl>    </td>
    289   </tr>
    290 </table>
    291 <a name="a3" doxytag="OsclThread::GetPriority"></a><p>
    292 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    293   <tr>
    294     <td class="md">
    295       <table cellpadding="0" cellspacing="0" border="0">
    296         <tr>
    297           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::GetPriority </td>
    298           <td class="md" valign="top">(&nbsp;</td>
    299           <td class="md" nowrap valign="top"><a class="el" href="oscl__thread_8h.html#a11">OsclThreadPriority</a> &amp;&nbsp;</td>
    300           <td class="mdname1" valign="top" nowrap>&nbsp; <em>refThreadPriority</em>          </td>
    301           <td class="md" valign="top">)&nbsp;</td>
    302           <td class="md" nowrap></td>
    303         </tr>
    304 
    305       </table>
    306     </td>
    307   </tr>
    308 </table>
    309 <table cellspacing=5 cellpadding=0 border=0>
    310   <tr>
    311     <td>
    312       &nbsp;
    313     </td>
    314     <td>
    315 
    316 <p>
    317 GetThreadPriority gets the priority of the thread. It takes reference of the input argument and assigns priority to it from one of the already defined priorities. <dl compact><dt><b>Parameters: </b></dt><dd>
    318 <table border=0 cellspacing=2 cellpadding=0>
    319 <tr><td valign=top><em>int16&amp;</em>&nbsp;</td><td>
    320 refThreadPriority : Output Priority value </td></tr>
    321 </table>
    322 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    323 Error code </dl>    </td>
    324   </tr>
    325 </table>
    326 <a name="a6" doxytag="OsclThread::Resume"></a><p>
    327 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    328   <tr>
    329     <td class="md">
    330       <table cellpadding="0" cellspacing="0" border="0">
    331         <tr>
    332           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::Resume </td>
    333           <td class="md" valign="top">(&nbsp;</td>
    334           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    335           <td class="md" valign="top">)&nbsp;</td>
    336           <td class="md" nowrap></td>
    337         </tr>
    338 
    339       </table>
    340     </td>
    341   </tr>
    342 </table>
    343 <table cellspacing=5 cellpadding=0 border=0>
    344   <tr>
    345     <td>
    346       &nbsp;
    347     </td>
    348     <td>
    349 
    350 <p>
    351 ResumeThread resumes the suspended thread and brings it into execution. <dl compact><dt><b>Parameters: </b></dt><dd>
    352 <table border=0 cellspacing=2 cellpadding=0>
    353 <tr><td valign=top><em>None</em>&nbsp;</td><td>
    354 </td></tr>
    355 </table>
    356 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    357 Error code Note: this function may not be supported on all platforms, and may return NOT_IMPLEMENTED. </dl>    </td>
    358   </tr>
    359 </table>
    360 <a name="a4" doxytag="OsclThread::SetPriority"></a><p>
    361 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    362   <tr>
    363     <td class="md">
    364       <table cellpadding="0" cellspacing="0" border="0">
    365         <tr>
    366           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::SetPriority </td>
    367           <td class="md" valign="top">(&nbsp;</td>
    368           <td class="md" nowrap valign="top"><a class="el" href="oscl__thread_8h.html#a11">OsclThreadPriority</a>&nbsp;</td>
    369           <td class="mdname1" valign="top" nowrap>&nbsp; <em>ePriority</em>          </td>
    370           <td class="md" valign="top">)&nbsp;</td>
    371           <td class="md" nowrap></td>
    372         </tr>
    373 
    374       </table>
    375     </td>
    376   </tr>
    377 </table>
    378 <table cellspacing=5 cellpadding=0 border=0>
    379   <tr>
    380     <td>
    381       &nbsp;
    382     </td>
    383     <td>
    384 
    385 <p>
    386 SetThreadPriority sets the priority of the thread. It takes priority as the input argument and assigns it to the thread referred. <dl compact><dt><b>Parameters: </b></dt><dd>
    387 <table border=0 cellspacing=2 cellpadding=0>
    388 <tr><td valign=top><em>ePriorityLevel</em>&nbsp;</td><td>
    389 : Input Priority value </td></tr>
    390 </table>
    391 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    392 Error code Note: this function may not be supported on all platforms, and may return NOT_IMPLEMENTED. </dl>    </td>
    393   </tr>
    394 </table>
    395 <a name="d4" doxytag="OsclThread::SleepMillisec"></a><p>
    396 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    397   <tr>
    398     <td class="md">
    399       <table cellpadding="0" cellspacing="0" border="0">
    400         <tr>
    401           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OsclThread::SleepMillisec </td>
    402           <td class="md" valign="top">(&nbsp;</td>
    403           <td class="md" nowrap valign="top">const int32&nbsp;</td>
    404           <td class="mdname1" valign="top" nowrap>&nbsp; <em>msec</em>          </td>
    405           <td class="md" valign="top">)&nbsp;</td>
    406           <td class="md" nowrap><code> [static]</code></td>
    407         </tr>
    408 
    409       </table>
    410     </td>
    411   </tr>
    412 </table>
    413 <table cellspacing=5 cellpadding=0 border=0>
    414   <tr>
    415     <td>
    416       &nbsp;
    417     </td>
    418     <td>
    419 
    420 <p>
    421 Suspend current thread execution for specified time. <dl compact><dt><b>Parameters: </b></dt><dd>
    422 <table border=0 cellspacing=2 cellpadding=0>
    423 <tr><td valign=top><em>msec, t2:</em>&nbsp;</td><td>
    424 sleep time in milliseconds. </td></tr>
    425 </table>
    426 </dl>    </td>
    427   </tr>
    428 </table>
    429 <a name="a5" doxytag="OsclThread::Suspend"></a><p>
    430 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    431   <tr>
    432     <td class="md">
    433       <table cellpadding="0" cellspacing="0" border="0">
    434         <tr>
    435           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::Suspend </td>
    436           <td class="md" valign="top">(&nbsp;</td>
    437           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    438           <td class="md" valign="top">)&nbsp;</td>
    439           <td class="md" nowrap></td>
    440         </tr>
    441 
    442       </table>
    443     </td>
    444   </tr>
    445 </table>
    446 <table cellspacing=5 cellpadding=0 border=0>
    447   <tr>
    448     <td>
    449       &nbsp;
    450     </td>
    451     <td>
    452 
    453 <p>
    454 This API suspends the thread being referred. The thread can later be brought into execution by calling OSCL_ResumeThread() on it. <dl compact><dt><b>Parameters: </b></dt><dd>
    455 <table border=0 cellspacing=2 cellpadding=0>
    456 <tr><td valign=top><em>None</em>&nbsp;</td><td>
    457 </td></tr>
    458 </table>
    459 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    460 Error code Note: this function may not be supported on all platforms, and may return NOT_IMPLEMENTED. </dl>    </td>
    461   </tr>
    462 </table>
    463 <a name="a7" doxytag="OsclThread::Terminate"></a><p>
    464 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    465   <tr>
    466     <td class="md">
    467       <table cellpadding="0" cellspacing="0" border="0">
    468         <tr>
    469           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOsclProcStatus.html#s35">OsclProcStatus::eOsclProcError</a> OsclThread::Terminate </td>
    470           <td class="md" valign="top">(&nbsp;</td>
    471           <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
    472           <td class="mdname1" valign="top" nowrap>&nbsp; <em>exitcode</em>          </td>
    473           <td class="md" valign="top">)&nbsp;</td>
    474           <td class="md" nowrap></td>
    475         </tr>
    476 
    477       </table>
    478     </td>
    479   </tr>
    480 </table>
    481 <table cellspacing=5 cellpadding=0 border=0>
    482   <tr>
    483     <td>
    484       &nbsp;
    485     </td>
    486     <td>
    487 
    488 <p>
    489 Terminate a thread other than the calling thread.
    490 <p>
    491 Note: for pthread implementations, the Terminate call will block until the thread has terminated. By default, threads will not terminate until a cancellation point is reached. The EnableKill method may be used to override this default behavior and allow immediate termination.<dl compact><dt><b>Parameters: </b></dt><dd>
    492 <table border=0 cellspacing=2 cellpadding=0>
    493 <tr><td valign=top><em>exitcode</em>&nbsp;</td><td>
    494 = Exitcode of the thread. </td></tr>
    495 </table>
    496 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    497 Error code </dl>    </td>
    498   </tr>
    499 </table>
    500 <hr>The documentation for this class was generated from the following file:<ul>
    501 <li><a class="el" href="oscl__thread_8h-source.html">oscl_thread.h</a></ul>
    502 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
    503 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
    504 </small></address>
    505 </body>
    506 </html>
    507