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 awt/J...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/gzz/client AbstractUpdateManager.java awt/J...
Date: Thu, 13 Mar 2003 13:45:18 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      03/03/13 13:44:44

Modified files:
        gzz/client     : AbstractUpdateManager.java 
        gzz/client/awt : JUpdateManager.java 

Log message:
        Poked around until the different-thread bug was fixed

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/AbstractUpdateManager.java.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/client/awt/JUpdateManager.java.diff?tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: gzz/gzz/client/AbstractUpdateManager.java
diff -u gzz/gzz/client/AbstractUpdateManager.java:1.37 
gzz/gzz/client/AbstractUpdateManager.java:1.38
--- gzz/gzz/client/AbstractUpdateManager.java:1.37      Fri Feb 21 15:02:37 2003
+++ gzz/gzz/client/AbstractUpdateManager.java   Thu Mar 13 13:44:27 2003
@@ -46,7 +46,7 @@
  */
 
 public abstract class AbstractUpdateManager implements Runnable {
-public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.37 
2003/02/21 20:02:37 tjl Exp $";
+public static final String rcsid = "$Id: AbstractUpdateManager.java,v 1.38 
2003/03/13 18:44:27 benja Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -67,7 +67,7 @@
 
     /** The order of windows, from the most important to the least.
      */
-    private ArrayList ordering = new ArrayList();
+    protected ArrayList ordering = new ArrayList();
 
     /** Whether an update is currently in progress, through 
      * a window being painted. 
Index: gzz/gzz/client/awt/JUpdateManager.java
diff -u gzz/gzz/client/awt/JUpdateManager.java:1.9 
gzz/gzz/client/awt/JUpdateManager.java:1.10
--- gzz/gzz/client/awt/JUpdateManager.java:1.9  Fri Feb 21 15:02:37 2003
+++ gzz/gzz/client/awt/JUpdateManager.java      Thu Mar 13 13:44:43 2003
@@ -37,7 +37,7 @@
 import java.awt.image.*;
 
 public class JUpdateManager extends AbstractUpdateManager {
-public static final String rcsid = "$Id: JUpdateManager.java,v 1.9 2003/02/21 
20:02:37 tjl Exp $";
+public static final String rcsid = "$Id: JUpdateManager.java,v 1.10 2003/03/13 
18:44:43 benja Exp $";
     private static boolean dbg = false;
     private static void p(String s) { if(dbg) pa(s); }
     private static void pa(String s) { System.err.println(s); }
@@ -55,10 +55,11 @@
 
     private static List eventList = new LinkedList();
     public static void addEvent(EventProcessor proc, AWTEvent e) {
-       synchronized(eventList) {
+       JUpdateManager m = (JUpdateManager)instance;
+       synchronized(m.ordering) {
            eventList.add(proc);
            eventList.add(e);
-           eventList.notifyAll();
+           m.ordering.notifyAll();
            if(dbg) pa("Queue "+e+"; listlen="+eventList.size());
        }
     }
@@ -93,7 +94,7 @@
            got = true;
            EventProcessor proc;
            AWTEvent evt;
-           synchronized(eventList) {
+           synchronized(ordering) {
                proc = (EventProcessor)eventList.get(0);
                evt = (AWTEvent)eventList.get(1);
                eventList.remove(1);
@@ -109,16 +110,17 @@
     protected boolean handleEvents(boolean waitForEvent) {
        if(!waitForEvent)
            return handleEvents_nohang();
-       synchronized(eventList) {
-           while(!handleEvents_nohang()) {
-               try {
-                   p("JUpdateManager: going to wait for next event");
-                   eventList.wait();
-               } catch(InterruptedException e) {
-                   pa("JUpdateManager: interrupted??");
-               }
+       synchronized(ordering) {
+           if(handleEvents_nohang()) return true;
+           try {
+               p("JUpdateManager: going to wait for next event");
+               // We wait on 'ordering' since that is also
+               // what is notified by AbstractUpdateManager.chg()
+               ordering.wait();
+           } catch(InterruptedException e) {
+               pa("JUpdateManager: interrupted??");
            }
+           return handleEvents_nohang();
        }
-       return true;
     }
 }




reply via email to

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