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;
}
}