gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gzz client/AbstractUpdateManager.java util/...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/gzz client/AbstractUpdateManager.java util/...
Date: Fri, 24 Jan 2003 04:06:28 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/01/24 04:06:28

Modified files:
        gzz/client     : AbstractUpdateManager.java 
Added files:
        gzz/util       : UpdateTimer.java 

Log message:
        Implement chgAfter

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/util/UpdateTimer.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/AbstractUpdateManager.java.diff?tr1=1.33&tr2=1.34&r1=text&r2=text

Patches:
Index: gzz/gzz/client/AbstractUpdateManager.java
diff -u gzz/gzz/client/AbstractUpdateManager.java:1.33 
gzz/gzz/client/AbstractUpdateManager.java:1.34
--- gzz/gzz/client/AbstractUpdateManager.java:1.33      Mon Jan 20 09:22:57 2003
+++ gzz/gzz/client/AbstractUpdateManager.java   Fri Jan 24 04:06:27 2003
@@ -41,7 +41,7 @@
  */
 
 public abstract class AbstractUpdateManager implements Runnable {
-public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.33 
2003/01/20 14:22:57 tjl Exp $";
+public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.34 
2003/01/24 09:06:27 tjl Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -190,13 +190,23 @@
        return animationtime;
     }
 
+    private static UpdateTimer chgAfterTimer = new UpdateTimer(new Runnable() {
+       public void run() {
+           AbstractUpdateManager.chg();
+       }
+    });
+
     /** We want to update the screen, but not start immediately in order to do
      * some more background processing.
      * For example, when MipzipLoader is working, we want to update the screen 
when new information
      * has been loaded, but not right away.
      */
     public static void chgAfter(int millis) {
-       // XXX Implement
+       chgAfterTimer.updateAfter(millis);
+    }
+
+    private static void resetChgAfter() {
+       chgAfterTimer.updated();
     }
 
     /** Called by a space to inform that some cells have been 
@@ -207,8 +217,9 @@
        if(restartUpd) return;
        if(dbg) pa("UPDMANAGER CHG - NORESTARTUPD");
        synchronized(ordering) {
-               restartUpd = true;
-               ordering.notifyAll();
+           restartUpd = true;
+           ordering.notifyAll();
+           interruptEventloop();
        }
        
        if(dbg) pa("UPDMANAGER CHGOUT");
@@ -406,9 +417,11 @@
                System.gc();
                // Wait for next event
                if(dbg) pa("Updmanager: WAIT FOR EVENT!!!");
+               if(restartUpd) continue;
                handleEvents(true);
                if(dbg) pa("Updmanager: FINISHED WAITING FOR EVENT!!!");
            }
+           resetChgAfter();
            // Thread.yield(); // Again, try to let the evena thread have 
control.
            synchronized(ordering) {
                if(dbg) pa("STARTORD WAITED");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]