Symbian3/PDK/Source/GUID-63456B20-3A61-554A-BBA4-C23B176E39A8.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
   251 </ul> <p id="GUID-F17D0FE5-BA42-575B-8971-C5B034CF404E"><b>The calling thread must
   251 </ul> <p id="GUID-F17D0FE5-BA42-575B-8971-C5B034CF404E"><b>The calling thread must
   252 own the semaphore</b> </p> <p>A semaphore can be waited on only by the thread
   252 own the semaphore</b> </p> <p>A semaphore can be waited on only by the thread
   253 that owns it. This precondition is needed when the described function calls
   253 that owns it. This precondition is needed when the described function calls
   254 a semaphore wait function. </p> <p id="GUID-8D9D08F5-0CBD-52BB-B416-636516982D47"><b>The calling thread must
   254 a semaphore wait function. </p> <p id="GUID-8D9D08F5-0CBD-52BB-B416-636516982D47"><b>The calling thread must
   255 not be explicitly suspended</b> </p> <p>This refers to nanokernel threads,
   255 not be explicitly suspended</b> </p> <p>This refers to nanokernel threads,
   256 not Symbian OS threads. The described function must not be used if the thread
   256 not Symbian platform threads. The described function must not be used if the
   257 is in the suspended state. One of the possible reasons for this is that the
   257 thread is in the suspended state. One of the possible reasons for this is
   258 described function does not check the thread's suspend count. </p> <p>A thread
   258 that the described function does not check the thread's suspend count. </p> <p>A
   259 may be created suspended, or the thread may be put into a suspended state
   259 thread may be created suspended, or the thread may be put into a suspended
   260 using <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-FF94D458-C2D0-3D20-ADD6-AAE68A3296C3"><apiname>NThreadBase::Suspend()</apiname></xref>. If you don't know whether
   260 state using <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-FF94D458-C2D0-3D20-ADD6-AAE68A3296C3"><apiname>NThreadBase::Suspend()</apiname></xref>. If you don't know whether
   261 or not the thread is suspended, use <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-82E43D79-721D-31A9-B9ED-1277F2300914"><apiname>NThreadBase::CheckSuspendThenReady()</apiname></xref>. </p> <p>See
   261 or not the thread is suspended, use <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-82E43D79-721D-31A9-B9ED-1277F2300914"><apiname>NThreadBase::CheckSuspendThenReady()</apiname></xref>. </p> <p>See
   262 also <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-C0A6E734-7DE6-37B9-AAB2-A2A0E2664731"><apiname>NThreadBase::Resume()</apiname></xref> and <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-BE92FBC3-A7D9-3576-A1A9-7BBA6EE64226"><apiname>NThreadBase::ForceResume()</apiname></xref>. </p> <p> <i>Note
   262 also <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-C0A6E734-7DE6-37B9-AAB2-A2A0E2664731"><apiname>NThreadBase::Resume()</apiname></xref> and <xref href="GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC.dita#GUID-379D9320-AC3C-3206-8A5D-EE6E5983EBDC/GUID-BE92FBC3-A7D9-3576-A1A9-7BBA6EE64226"><apiname>NThreadBase::ForceResume()</apiname></xref>. </p> <p> <i>Note
   263 that these functions are for use only in an RTOS personality layer.</i>  </p> <p id="GUID-910660F9-F30F-5725-981D-52F65F7FDB81"><b>The calling thread must
   263 that these functions are for use only in an RTOS personality layer.</i>  </p> <p id="GUID-910660F9-F30F-5725-981D-52F65F7FDB81"><b>The calling thread must
   264 hold the mutex</b> </p> <p>The calling thread has waited for a mutex and acquired
   264 hold the mutex</b> </p> <p>The calling thread has waited for a mutex and acquired
   265 it. This precondition is needed when the thread is about to release the mutex,
   265 it. This precondition is needed when the thread is about to release the mutex,
   279 property is a single value used by “Publish and Subscribe”. Each property
   279 property is a single value used by “Publish and Subscribe”. Each property
   280 must be opened before it can be used. To open a property, use either <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita#GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2/GUID-DBEDDC3A-AE6F-3CAF-B251-4AA556EAF21C"><apiname>RPropertyRef::Attach()</apiname></xref> or <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita#GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2/GUID-6F8EB0AB-C01A-3BFD-B334-D9C9FB923865"><apiname>RPropertyRef::Open()</apiname></xref>. Once opened, the property cannot be opened again. </p> <p>The pre-condition
   280 must be opened before it can be used. To open a property, use either <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita#GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2/GUID-DBEDDC3A-AE6F-3CAF-B251-4AA556EAF21C"><apiname>RPropertyRef::Attach()</apiname></xref> or <xref href="GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2.dita#GUID-39D6B924-3FA3-39E6-A6EA-88E2D1927AC2/GUID-6F8EB0AB-C01A-3BFD-B334-D9C9FB923865"><apiname>RPropertyRef::Open()</apiname></xref>. Once opened, the property cannot be opened again. </p> <p>The pre-condition
   281 means that the property must already be open before calling the described
   281 means that the property must already be open before calling the described
   282 function. </p> <p id="GUID-F1485BCB-8384-518B-AE5B-F8387DF0C8F4"><b>Must be called under an
   282 function. </p> <p id="GUID-F1485BCB-8384-518B-AE5B-F8387DF0C8F4"><b>Must be called under an
   283 XTRAP harness or calling thread must not be in a critical section</b> </p> <p>Each
   283 XTRAP harness or calling thread must not be in a critical section</b> </p> <p>Each
   284 Symbian OS thread can be associated with a kernel-side exception handler,
   284 Symbian platform thread can be associated with a kernel-side
   285 set using XTRAP(); for example, to detect bad memory accesses. </p> <p>The
   285 exception handler, set using XTRAP(); for example, to detect bad memory accesses. </p> <p>The
   286 described function can legitimately cause an exception, and the pre-condition
   286 described function can legitimately cause an exception, and the pre-condition
   287 means that </p> <p> <i>either</i>: </p> <ul>
   287 means that </p> <p> <i>either</i>: </p> <ul>
   288 <li id="GUID-485A8370-E3D5-5E67-9136-3150EC050DF0"><p>the described function
   288 <li id="GUID-485A8370-E3D5-5E67-9136-3150EC050DF0"><p>the described function
   289 should be called inside an XTRAP() harness to catch the exception </p> </li>
   289 should be called inside an XTRAP() harness to catch the exception </p> </li>
   290 </ul> <p> <i>or</i>  </p> <ul>
   290 </ul> <p> <i>or</i>  </p> <ul>
   311 calling the described function, e.g. by calling <codeph>DCodeSeg::Wait()</codeph>. </p> <p id="GUID-9A82D0DD-7599-5511-AD9E-2930ADC99AC0"><b>Any kind of lock can be
   311 calling the described function, e.g. by calling <codeph>DCodeSeg::Wait()</codeph>. </p> <p id="GUID-9A82D0DD-7599-5511-AD9E-2930ADC99AC0"><b>Any kind of lock can be
   312 held</b> </p> <p>The described function can be called with any kind of lock. </p> <p id="GUID-F9800056-B5E5-576D-B440-544AE067D4DC"><b>Call only from Init1() in
   312 held</b> </p> <p>The described function can be called with any kind of lock. </p> <p id="GUID-F9800056-B5E5-576D-B440-544AE067D4DC"><b>Call only from Init1() in
   313 base port</b> </p> <p>The pre-condition means that the described function
   313 base port</b> </p> <p>The pre-condition means that the described function
   314 can only be called during the first phase of kernel initialisation, i.e. during
   314 can only be called during the first phase of kernel initialisation, i.e. during
   315 execution of the Base Port implementation of <codeph>Asic::Init1()</codeph>.
   315 execution of the Base Port implementation of <codeph>Asic::Init1()</codeph>.
   316 See the Base Porting <xref href="GUID-A7F6C8D5-B85B-537B-8A19-99149FBE8C01.dita">Quick
   316 See the <xref href="GUID-DEB51862-A72B-5FB7-B1BA-F34685E71BFF.dita">Board Support
   317 Start</xref>. </p> <p>This condition may apply because the described function: </p> <ul>
   317 Packages Quick Start</xref>. </p> <p>This condition may apply because the
       
   318 described function: </p> <ul>
   318 <li id="GUID-62621625-D712-5F4C-B31D-067E5887D8FD"><p>must be called before
   319 <li id="GUID-62621625-D712-5F4C-B31D-067E5887D8FD"><p>must be called before
   319 any context switch </p> </li>
   320 any context switch </p> </li>
   320 <li id="GUID-FB33B022-A388-5508-9C98-33518154BBBA"><p>must be called before
   321 <li id="GUID-FB33B022-A388-5508-9C98-33518154BBBA"><p>must be called before
   321 the MMU is turned on. </p> </li>
   322 the MMU is turned on. </p> </li>
   322 </ul> <p id="GUID-6122C9C6-05EB-508C-8C9A-45B6A8DAB42C"><b>The various parameters must
   323 </ul> <p id="GUID-6122C9C6-05EB-508C-8C9A-45B6A8DAB42C"><b>The various parameters must