On Saturday 11 April 2009 04:54:30 j16sdiz at freenetproject.org wrote:
> Author: j16sdiz
> Date: 2009-04-11 03:54:29 +0000 (Sat, 11 Apr 2009)
> New Revision: 26732
> 
> Modified:
>    trunk/freenet/src/freenet/pluginmanager/PluginManager.java
> Log:
> Synchronized the plugin loading code

Why? What is the point?

And it probably isn't safe. We do quite a lot in loadPlugin, including calling 
methods on the plugin in the case that we have to load and unload. Also 
(this) is used when writing the config.
> 
> Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
> ===================================================================
> --- trunk/freenet/src/freenet/pluginmanager/PluginManager.java        
> 2009-04-10 
23:16:41 UTC (rev 26731)
> +++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java        
> 2009-04-11 
03:54:29 UTC (rev 26732)
> @@ -822,6 +822,8 @@
>                               }
>               }
>               
> +             // synchronized(this), not (pluginwrappers)
> +             synchronized (this) {
>               if(this.isPluginLoaded(filename)) {
>                       Logger.error(this, "Plugin already loaded: "+filename);
>                       return null;
> @@ -958,6 +960,7 @@
>                       pluginFile.delete();
>                       throw new PluginNotFoundException("unexcpected error 
> while plugin 
loading " + t, t);
>               }
> +             }
>       }
>  
>       private String getFileSHA1(File file) throws PluginNotFoundException {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090411/232e10f4/attachment.pgp>

Reply via email to