diff -r 04a1b74efd48 -r d32f34975bbf kerneltest/e32test/debug/d_perflogger_ldd.cpp --- a/kerneltest/e32test/debug/d_perflogger_ldd.cpp Mon Feb 01 19:40:00 2010 +0100 +++ b/kerneltest/e32test/debug/d_perflogger_ldd.cpp Mon Feb 01 19:49:38 2010 +0100 @@ -23,6 +23,9 @@ #include "d_perflogger_ldd.h" #include +_LIT(KDFCThreadName,"D_PL_DFC_THREAD"); +const TInt KDFCThreadPriority=27; + //----------------------------------------------------------------------------------- @@ -268,7 +271,19 @@ //-- initialize DFC machinery - iDfcQ = Kern::DfcQue0(); //-- attach to the low priority DFC queue + //iDfcQ = Kern::DfcQue0(); //-- attach to the low priority DFC queue + if (!iDfcQ) + { + TInt r = Kern::DynamicDfcQCreate(iDfcQ, KDFCThreadPriority, KDFCThreadName); + if (r!= KErrNone) + { + return; + } + +#ifdef CPU_AFFINITY_ANY + NKern::ThreadSetCpuAffinity((NThread*)(iDfcQ->iThread), KCpuAffinityAny); +#endif + } iIsrLogTicker.Construct (iClientThread, iDfcQ, NKern::EInterrupt);//-- construct ISR log ticker iDfcLogTicker.Construct (iClientThread, iDfcQ, NKern::EThread); //-- construct DFC log ticker @@ -282,7 +297,10 @@ __PRINT("#KPLogTest:~DKPLoggerTestHelperLDD()"); iClientThread->Close(NULL); - + + if (iDfcQ) + iDfcQ->Destroy(); + pSelf = NULL; //-- clear the pointer to this class instance }