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

toad at freenetproject.org toad at freenetproject.org
Sat Sep 8 15:19:22 UTC 2007


Author: toad
Date: 2007-09-08 15:19:21 +0000 (Sat, 08 Sep 2007)
New Revision: 15039

Modified:
   trunk/freenet/src/freenet/pluginmanager/PluginHandler.java
   trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
Log:
More de-uglification: PluginStarter must know its PluginInfoWrapper.

Modified: trunk/freenet/src/freenet/pluginmanager/PluginHandler.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginHandler.java	2007-09-08 15:11:37 UTC (rev 15038)
+++ trunk/freenet/src/freenet/pluginmanager/PluginHandler.java	2007-09-08 15:19:21 UTC (rev 15039)
@@ -20,8 +20,9 @@
 	 * @param plug
 	 */
 	public static PluginInfoWrapper startPlugin(PluginManager pm, String filename, FredPlugin plug, PluginRespirator pr) {
-		final PluginStarter ps = new PluginStarter(pr);
-		final PluginInfoWrapper pi = new PluginInfoWrapper(plug, ps, filename);
+		final PluginInfoWrapper pi = new PluginInfoWrapper(plug, filename);
+		final PluginStarter ps = new PluginStarter(pr, pi);
+		pi.setThread(ps);
 		
 		// This is an ugly trick... sorry ;o)
 		// The thread still exists as an identifier, but is never started if the
@@ -45,9 +46,11 @@
 		private Object plugin = null;
 		private PluginRespirator pr;
 		private PluginManager pm = null;
+		final PluginInfoWrapper pi;
 		
-		public PluginStarter(PluginRespirator pr) {
+		public PluginStarter(PluginRespirator pr, PluginInfoWrapper pi) {
 			this.pr = pr;
+			this.pi = pi;
 			setDaemon(true);
 		}
 		

Modified: trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java	2007-09-08 15:11:37 UTC (rev 15038)
+++ trunk/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java	2007-09-08 15:19:21 UTC (rev 15039)
@@ -22,15 +22,13 @@
 	private HashSet toadletLinks=new HashSet(); 
 	//public String 
 	
-	public PluginInfoWrapper(FredPlugin plug, Thread ps, String filename) {
+	public PluginInfoWrapper(FredPlugin plug, String filename) {
 		if (fedPluginThread) return;
 		className = plug.getClass().toString();
-		thread = ps;
 		this.plug = plug;
 		this.filename = filename;
-		threadName = 'p' + className.replaceAll("^class ", "") + '_' + ps.hashCode();
+		threadName = 'p' + className.replaceAll("^class ", "") + '_' + hashCode();
 		start = System.currentTimeMillis();
-		ps.setName(threadName);
 		fedPluginThread = true;
 		isPproxyPlugin = (plug instanceof FredPluginHTTP);
 		isThreadlessPlugin = (plug instanceof FredPluginThreadless);
@@ -38,6 +36,13 @@
 		isPortForwardPlugin = (plug instanceof FredPluginPortForward);
 	}
 	
+	void setThread(Thread ps) {
+		if(thread != null)
+			throw new IllegalStateException("Already set a thread");
+		thread = ps;
+		thread.setName(threadName);
+	}
+	
 	public String toString() {
 		return "ID: \"" +threadName + "\", Name: "+ className +", Started: " + (new Date(start)).toString();
 	}




More information about the cvs mailing list