[freenet-cvs] r15052 - trunk/freenet/src/freenet/pluginmanager

toad at freenetproject.org toad at freenetproject.org
Sat Sep 8 16:05:44 UTC 2007


Author: toad
Date: 2007-09-08 16:05:43 +0000 (Sat, 08 Sep 2007)
New Revision: 15052

Modified:
   trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
Log:
Synchronize some things that need to be synchronized

Modified: trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java	2007-09-08 16:05:00 UTC (rev 15051)
+++ trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java	2007-09-08 16:05:43 UTC (rev 15052)
@@ -90,7 +90,9 @@
 	public void stopPlugin(PluginManager manager, int maxWaitTime) {
 		unregister(manager);
 		plug.terminate();
-		stopping = true;
+		synchronized(this) {
+			stopping = true;
+		}
 		if(thread != null) {
 			thread.interrupt();
 			// Will be removed when the thread exits.
@@ -119,8 +121,10 @@
 	 * unvisitable immediately, but it may take time for it to shut down completely.
 	 */
 	void unregister(PluginManager manager) {
-		if(unregistered) return;
-		unregistered = true;
+		synchronized(this) {
+			if(unregistered) return;
+			unregistered = true;
+		}
 		manager.unregisterPluginToadlet(this);
 	}
 
@@ -144,7 +148,7 @@
 		return isPortForwardPlugin;
 	}
 	
-	public boolean isStopping() {
+	public synchronized boolean isStopping() {
 		return stopping;
 	}
 }




More information about the cvs mailing list