CVSROOT: /sources/classpath Module name: classpath Changes by: Keith Seitz <keiths> 06/06/16 19:40:04
Modified files: . : ChangeLog gnu/classpath/jdwp: Jdwp.java gnu/classpath/jdwp/event: EventManager.java Log message: * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo instantiation so that EventManager is created when getDefault is first called. * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation of EventManager. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7853&r2=1.7854 http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/classpath/jdwp/Jdwp.java?cvsroot=classpath&r1=1.7&r2=1.8 http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/classpath/jdwp/event/EventManager.java?cvsroot=classpath&r1=1.4&r2=1.5 Patches: Index: ChangeLog =================================================================== RCS file: /sources/classpath/classpath/ChangeLog,v retrieving revision 1.7853 retrieving revision 1.7854 diff -u -b -r1.7853 -r1.7854 --- ChangeLog 16 Jun 2006 18:43:44 -0000 1.7853 +++ ChangeLog 16 Jun 2006 19:40:00 -0000 1.7854 @@ -1,5 +1,13 @@ 2006-06-16 Keith Seitz <[EMAIL PROTECTED]> + * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo + instantiation so that EventManager is created when getDefault + is first called. + * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation + of EventManager. + +2006-06-16 Keith Seitz <[EMAIL PROTECTED]> + * gnu/classpath/jdwp/Jdwp.java (_initLock): New field. (_initCount): New field. (Jdwp): Don't set isDebugging until fully initialized. Index: gnu/classpath/jdwp/Jdwp.java =================================================================== RCS file: /sources/classpath/classpath/gnu/classpath/jdwp/Jdwp.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -b -r1.7 -r1.8 --- gnu/classpath/jdwp/Jdwp.java 16 Jun 2006 18:32:48 -0000 1.7 +++ gnu/classpath/jdwp/Jdwp.java 16 Jun 2006 19:40:04 -0000 1.8 @@ -315,6 +315,13 @@ System.exit (1); } + /* Force creation of the EventManager. If the event manager + has not been created when isDebugging is set, it is possible + that the VM will call Jdwp.notify (which uses EventManager) + while the EventManager is being created (or at least this is + a problem with gcj/gij). */ + EventManager.getDefault(); + // Now we are finally ready and initialized isDebugging = true; } Index: gnu/classpath/jdwp/event/EventManager.java =================================================================== RCS file: /sources/classpath/classpath/gnu/classpath/jdwp/event/EventManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -b -r1.4 -r1.5 --- gnu/classpath/jdwp/event/EventManager.java 9 Mar 2006 23:18:29 -0000 1.4 +++ gnu/classpath/jdwp/event/EventManager.java 16 Jun 2006 19:40:04 -0000 1.5 @@ -1,5 +1,5 @@ /* EventManager.java -- event management and notification infrastructure - Copyright (C) 2005 Free Software Foundation + Copyright (C) 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -69,7 +69,7 @@ public class EventManager { // Single instance - private static EventManager _instance = new EventManager (); + private static EventManager _instance = null; // maps event (EVENT_*) to lists of EventRequests private Hashtable _requests = null; @@ -79,8 +79,11 @@ * * @return the event manager */ - public static EventManager getDefault () + public static EventManager getDefault() { + if (_instance == null) + _instance = new EventManager(); + return _instance; }