diff -r 5072524fcc79 -r 80ef3a206772 Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita --- a/Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita Fri Jul 02 12:51:36 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-314FAEB5-946C-4090-B6AA-1BEEC9BE8EFB.dita Fri Jul 16 17:23:46 2010 +0100 @@ -311,10 +311,10 @@
  • The active scheduler is nested.

  • One or more high priority active objects are started (probably several times), which all make requests on a server.

  • -
  • The high priority active object(s) are serviced and immediately +

  • The high priority active object(s) are serviced and immediately restarted. This continues until there is no more work for the high priority active object(s) to do.

  • -
  • The low priority active object runs and un-nests the active +

  • The low priority active object runs and un-nests the active scheduler.

  • In a single core environment, the server always processes the client requests before the client can run any other code (because the server runs @@ -442,10 +442,10 @@ to ensure all kernel memory has been cleaned up.

    There are three possibilities to fix this problem:

    1. Recreate the thread with a different name.

    2. -
    3. Wait a "little bit" before recreating the thread (or performing +

    4. Wait a "little bit" before recreating the thread (or performing the heap check).

      This is almost always a bad idea as there is no way of knowing how long to wait and this may be different on any future system.

    5. -
    6. Wait for the object concerned to be completely destroyed.

    7. +
    8. Wait for the object concerned to be completely destroyed.

    In general, option 1 is preferred. For code that is likely to encounter the problem in practice, APIs should be provided to aid with creating objects with a unique name. For example, the TDynamicDfcQue and Kern::DynamicDfcQCreate APIs