uiacceltk/hitchcock/goommonitor/src/goomactionlist.cpp
branchRCL_3
changeset 5 433cbbb6a04b
parent 3 d8a3531bc6b8
child 6 10534483575f
--- a/uiacceltk/hitchcock/goommonitor/src/goomactionlist.cpp	Mon Feb 22 17:57:49 2010 +0200
+++ b/uiacceltk/hitchcock/goommonitor/src/goomactionlist.cpp	Fri Mar 12 15:47:04 2010 +0200
@@ -408,10 +408,10 @@
         {
         // No usable memory freeing action has been found, so we give up
         TRACES("CGOomActionList::FreeMemory: No usable memory freeing action has been found");
-        iMonitor.ResetTargets();
         TInt freeMemory;
         FreeMemoryAboveTarget(freeMemory);
         iServer.CloseAppsFinished(freeMemory, EFalse);
+        iMonitor.WaitAndSynchroniseMemoryState();
         }
     }
 
@@ -441,7 +441,7 @@
 
     aFreeMemory = iMonitor.GetFreeMemory();
 
-    TRACES1("CGOomActionList::FreeMemoryAboveTarget: Free RAM now %d",aFreeMemory);
+    TRACES2("CGOomActionList::FreeMemoryAboveTarget: Free RAM now %d, currentTarget %d",aFreeMemory, iCurrentTarget);
 
     return (aFreeMemory >= iCurrentTarget);
     }
@@ -600,7 +600,7 @@
                     iRunningKillAppActions = EFalse;
                     // There are no more actions to try, so we give up
                     TRACES1("CGOomActionList::StateChanged: All current actions complete, below good threshold with no more actions available. freeMemory=%d", freeMemory);
-                    iMonitor.ResetTargets();
+                    
                     /* Do not call memory good immidiately after freeing memory for some app
                     if (freeMemory >= iCurrentTarget && !iMonitor.NeedToPostponeMemGood())
                     {                    
@@ -608,6 +608,7 @@
                     }
                      */
                     iServer.CloseAppsFinished(freeMemory, EFalse);
+                    iMonitor.WaitAndSynchroniseMemoryState();
                     }
                 else
                     {
@@ -615,7 +616,7 @@
                     iRunningKillAppActions = ETrue;
                     iMonitor.RunCloseAppActions(iMaxPriority);
                     }
-                iMonitor.WaitAndSynchroniseMemoryState();
+                
                 }
             else
                 {
@@ -634,7 +635,6 @@
                 }
             */
             iRunningKillAppActions = EFalse;
-            iMonitor.ResetTargets();
             iServer.CloseAppsFinished(freeMemory, ETrue);
             iMonitor.WaitAndSynchroniseMemoryState();
             }