diff -r a8834a2e9a96 -r c52421ed5f07 uifw/AknGlobalUI/AknNfySrv/src/AknNfySrv.cpp --- a/uifw/AknGlobalUI/AknNfySrv/src/AknNfySrv.cpp Wed Jun 09 09:58:37 2010 +0300 +++ b/uifw/AknGlobalUI/AknNfySrv/src/AknNfySrv.cpp Mon Jun 21 15:57:43 2010 +0300 @@ -20,7 +20,7 @@ #include "AknNfySrv.h" const TUid KDllUid = {0x10000079}; - +const TInt KCheckInterval = 1000000 / 64; class CAknNotifierEntry: public CBase { @@ -65,6 +65,7 @@ if (me->iLibraryArray[ii]->iNestingLevel >= CActiveScheduler::Current()->StackDepth()) { me->DoUnload(me->iLibraryArray[ii]->iLibraryName->Des()); + me->iLibraryRemover->Cancel(); } else { @@ -111,7 +112,7 @@ { if (!iLibraryRemover) { - iLibraryRemover = CIdle::NewL(CActive::EPriorityIdle); // there is no hurry + iLibraryRemover = CPeriodic::NewL(CActive::EPriorityIdle); // there is no hurry } else if (iLibraryRemover->IsActive()) { @@ -291,7 +292,7 @@ { if (!iLibraryRemover->IsActive()) { - iLibraryRemover->Start(TCallBack(CheckUnusedLibraries, this)); + iLibraryRemover->Start(0, KCheckInterval, TCallBack(CheckUnusedLibraries, this)); } } }