[freenet-cvs] r17923 - in trunk/freenet/src/freenet/support: . io

nextgens at freenetproject.org nextgens at freenetproject.org
Fri Feb 15 07:52:50 UTC 2008


Author: nextgens
Date: 2008-02-15 07:52:50 +0000 (Fri, 15 Feb 2008)
New Revision: 17923

Modified:
   trunk/freenet/src/freenet/support/PooledExecutor.java
   trunk/freenet/src/freenet/support/io/NativeThread.java
Log:
Fix the build and introduce compatibility with older freenet-ext builds

Modified: trunk/freenet/src/freenet/support/PooledExecutor.java
===================================================================
--- trunk/freenet/src/freenet/support/PooledExecutor.java	2008-02-15 07:44:34 UTC (rev 17922)
+++ trunk/freenet/src/freenet/support/PooledExecutor.java	2008-02-15 07:52:50 UTC (rev 17923)
@@ -14,12 +14,20 @@
 public class PooledExecutor implements Executor {
 
 	private final ArrayList[] runningThreads /* <MyThread> */ = new ArrayList[NativeThread.JAVA_PRIO_RANGE];
-	private final ArrayList[] waitingThreads /* <MyThread> */ = new ArrayList[NativeThread.JAVA_PRIO_RANGE];
-	long[] threadCounter;
+	private final ArrayList[] waitingThreads /* <MyThread> */ = new ArrayList[runningThreads.length];
+	long[] threadCounter = new long[runningThreads.length];
 	private long jobCount;
 	private long jobMisses;
 	private static boolean logMINOR;
 	
+	public PooledExecutor() {
+		for(int i=0; i<runningThreads.length; i++) {
+			runningThreads[i] = new ArrayList();
+			waitingThreads[i] = new ArrayList();
+			threadCounter[i] = 0;
+		}
+	}
+	
 	/** Maximum time a thread will wait for a job */
 	static final int TIMEOUT = 5*60*1000;
 	

Modified: trunk/freenet/src/freenet/support/io/NativeThread.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NativeThread.java	2008-02-15 07:44:34 UTC (rev 17922)
+++ trunk/freenet/src/freenet/support/io/NativeThread.java	2008-02-15 07:52:50 UTC (rev 17923)
@@ -4,6 +4,7 @@
 
 package freenet.support.io;
 
+import freenet.node.NodeStarter;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.InputStream;
@@ -23,7 +24,7 @@
 	public static final boolean HAS_ENOUGH_NICE_LEVELS;
 	
 	static {
-		_loadNative = "Linux".equalsIgnoreCase(System.getProperty("os.name"));
+		_loadNative = "Linux".equalsIgnoreCase(System.getProperty("os.name")) && NodeStarter.extBuildNumber > 18;
 		if(_loadNative) {
 			//System.loadLibrary("NativeThread");
 			loadNative();




More information about the cvs mailing list