Author: toad
Date: 2007-08-11 15:34:20 +0000 (Sat, 11 Aug 2007)
New Revision: 14605
Modified:
trunk/freenet/src/freenet/client/async/SingleFileInserter.java
trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
trunk/freenet/src/freenet/io/NetworkInterface.java
trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
trunk/freenet/src/freenet/node/CHKInsertSender.java
trunk/freenet/src/freenet/node/DarknetPeerNode.java
trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
trunk/freenet/src/freenet/node/InsertHandler.java
trunk/freenet/src/freenet/node/LocationManager.java
trunk/freenet/src/freenet/node/LoggingConfigHandler.java
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/NodeDispatcher.java
trunk/freenet/src/freenet/node/NodeIPDetector.java
trunk/freenet/src/freenet/node/PacketSender.java
trunk/freenet/src/freenet/node/RequestHandler.java
trunk/freenet/src/freenet/node/RequestSender.java
trunk/freenet/src/freenet/node/RequestStarter.java
trunk/freenet/src/freenet/node/SSKInsertSender.java
trunk/freenet/src/freenet/node/TestnetHandler.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
trunk/freenet/src/freenet/node/fcp/FCPServer.java
trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
trunk/freenet/src/freenet/support/PooledExecutor.java
Log:
Use Executor for more or less all threads other than really long lived ones,
apart from a few rarely used threads where it'd be too hard to pass in the
Executor
Modified: trunk/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -106,10 +106,7 @@
if(data.size() > COMPRESS_OFF_THREAD_LIMIT) {
// Run off thread
OffThreadCompressor otc = new OffThreadCompressor();
- Thread t = new Thread(otc, "Compressor for "+this);
- if(logMINOR) Logger.minor(this, "Compressing
off-thread: "+t);
- t.setDaemon(true);
- t.start();
+ ctx.executor.execute(otc, "Compressor for "+this);
} else {
tryCompress();
}
Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -279,13 +279,11 @@
}
public void scheduleOffThread() {
- Thread t = new Thread(new Runnable() {
+ fetchContext.executor.execute(new Runnable() {
public void run() {
schedule();
}
}, "Splitfile scheduler thread for "+this);
- t.setDaemon(true);
- t.start();
}
}
Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -341,7 +341,7 @@
this.advancedModeEnabled =
fproxyConfig.getBoolean("advancedModeEnabled");
toadlets = new LinkedList();
- this.networkInterface = NetworkInterface.create(port,
this.bindTo, fproxyConfig.getString("allowedHosts"));
+ this.networkInterface = NetworkInterface.create(port,
this.bindTo, fproxyConfig.getString("allowedHosts"), core.getExecutor());
if(!enabled) {
Logger.normal(core, "Not starting FProxy as it's
disabled");
@@ -421,9 +421,7 @@
}
void start() {
- Thread t = new Thread(this,
"SimpleToadletServer$SocketHandler@"+hashCode());
- t.setDaemon(true);
- t.start();
+ core.getExecutor().execute(this,
"SimpleToadletServer$SocketHandler@"+hashCode());
}
public void run() {
Modified: trunk/freenet/src/freenet/io/NetworkInterface.java
===================================================================
--- trunk/freenet/src/freenet/io/NetworkInterface.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/io/NetworkInterface.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -29,6 +29,7 @@
import java.util.StringTokenizer;
import freenet.io.AddressIdentifier.AddressType;
+import freenet.support.Executor;
import freenet.support.Logger;
/**
@@ -60,9 +61,11 @@
/** The number of running acceptors. */
private int runningAcceptors = 0;
+
+ private final Executor executor;
- public static NetworkInterface create(int port, String bindTo, String
allowedHosts) throws IOException {
- NetworkInterface iface = new NetworkInterface(port,
allowedHosts);
+ public static NetworkInterface create(int port, String bindTo, String
allowedHosts, Executor executor) throws IOException {
+ NetworkInterface iface = new NetworkInterface(port,
allowedHosts, executor);
try {
iface.setBindTo(bindTo);
} catch (IOException e) {
@@ -86,9 +89,10 @@
* @param allowedHosts
* A comma-separated list of allowed addresses
*/
- private NetworkInterface(int port, String allowedHosts) throws
IOException {
+ private NetworkInterface(int port, String allowedHosts, Executor
executor) throws IOException {
this.port = port;
this.allowedHosts = new AllowedHosts(allowedHosts);
+ this.executor = executor;
}
/**
@@ -128,19 +132,12 @@
acceptors.add(acceptor);
}
setSoTimeout(timeout);
- List tempThreads = new ArrayList();
synchronized (syncObject) {
Iterator acceptors = this.acceptors.iterator();
while (acceptors.hasNext()) {
- Thread t = new Thread((Acceptor)
acceptors.next(), "Network Interface Acceptor");
- t.setDaemon(true);
- tempThreads.add(t);
+ executor.execute((Acceptor) acceptors.next(),
"Network Interface Acceptor");
}
}
- for (Iterator i = tempThreads.iterator(); i.hasNext();) {
- ((Thread) i.next()).start();
- runningAcceptors++;
- }
}
public void setAllowedHosts(String allowedHosts) {
Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java 2007-08-11
14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java 2007-08-11
15:34:20 UTC (rev 14605)
@@ -33,6 +33,7 @@
import freenet.node.PeerNode;
import freenet.support.BitArray;
import freenet.support.DoubleTokenBucket;
+import freenet.support.Executor;
import freenet.support.Logger;
import freenet.support.TimeUtil;
import freenet.support.transport.ip.IPUtil;
@@ -45,17 +46,17 @@
public static final int SEND_TIMEOUT = 60000;
public static final int PING_EVERY = 8;
- MessageCore _usm;
- PeerContext _destination;
- boolean _sendComplete;
- long _uid;
- PartiallyReceivedBlock _prb;
- LinkedList _unsent;
- Thread _receiverThread, _senderThread;
- BitArray _sentPackets;
+ final MessageCore _usm;
+ final PeerContext _destination;
+ private boolean _sendComplete;
+ final long _uid;
+ final PartiallyReceivedBlock _prb;
+ private LinkedList _unsent;
+ private Runnable _senderThread;
+ private BitArray _sentPackets;
boolean failedByOverload;
final PacketThrottle throttle;
- long timeAllSent = -1;
+ private long timeAllSent = -1;
final DoubleTokenBucket _masterThrottle;
final ByteCounter _ctr;
final int PACKET_SIZE;
@@ -76,7 +77,7 @@
// Will throw on running
}
throttle = _destination.getThrottle();
- _senderThread = new Thread("_senderThread for "+_uid+ " to
"+_destination.getPeer()) {
+ _senderThread = new Runnable() {
public void run() {
while (!_sendComplete) {
@@ -173,16 +174,13 @@
}
}
};
- _senderThread.setDaemon(true);
}
public void sendAborted(int reason, String desc) throws
NotConnectedException {
_usm.send(_destination, DMT.createSendAborted(_uid, reason,
desc), _ctr);
}
- public boolean send() {
- _receiverThread = Thread.currentThread();
-
+ public boolean send(Executor executor) {
PartiallyReceivedBlock.PacketReceivedListener myListener;
try {
@@ -207,7 +205,7 @@
}
});
}
- _senderThread.start();
+ executor.execute(_senderThread, "BlockTransmitter
sender for "+_uid);
while (true) {
if (_prb.isAborted()) {
@@ -311,12 +309,10 @@
/**
* Send the data, off-thread.
*/
- public void sendAsync() {
- Runnable r = new Runnable() {
- public void run() { send(); } };
- Thread t = new Thread(r, "BlockTransmitter:sendAsync() for
"+this);
- t.setDaemon(true);
- t.start();
+ public void sendAsync(final Executor executor) {
+ executor.execute(new Runnable() {
+ public void run() { send(executor); } },
+ "BlockTransmitter:sendAsync() for "+this);
}
public void waitForComplete() {
Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -18,6 +18,7 @@
import freenet.keys.CHKBlock;
import freenet.keys.CHKVerifyException;
import freenet.keys.NodeCHK;
+import freenet.support.Executor;
import freenet.support.Logger;
import freenet.support.OOMHandler;
@@ -27,15 +28,17 @@
final AwaitingCompletion completion;
final BlockTransmitter bt;
+ final Executor executor;
- public Sender(AwaitingCompletion ac) {
+ public Sender(AwaitingCompletion ac, Executor executor) {
this.bt = ac.bt;
this.completion = ac;
+ this.executor = executor;
}
public void run() {
try {
- bt.send();
+ bt.send(executor);
if(bt.failedDueToOverload()) {
completion.completedTransfer(false);
} else {
@@ -75,10 +78,8 @@
}
void start() {
- Sender s = new Sender(this);
- Thread senderThread = new Thread(s, "Sender for "+uid+" to
"+pn.getPeer());
- senderThread.setDaemon(true);
- senderThread.start();
+ Sender s = new Sender(this, node.executor);
+ node.executor.execute(s, "Sender for "+uid+" to
"+pn.getPeer());
}
void completed(boolean timeout, boolean success) {
@@ -137,9 +138,7 @@
}
void start() {
- Thread t = new Thread(this, "CHKInsertSender for UID "+uid+" on
"+node.getDarknetPortNumber()+" at "+System.currentTimeMillis());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(this, "CHKInsertSender for UID "+uid+" on
"+node.getDarknetPortNumber()+" at "+System.currentTimeMillis());
}
static boolean logMINOR;
@@ -633,9 +632,7 @@
else
return;
}
- t = new Thread(cw, "Completion waiter for "+uid);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(cw, "Completion waiter for "+uid);
}
private class CompletionWaiter implements Runnable {
Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -829,7 +829,7 @@
prb = new PartiallyReceivedBulk(node.usm, size,
Node.PACKET_SIZE, data, false);
receiver = new BulkReceiver(prb, DarknetPeerNode.this,
uid);
// FIXME make this persistent
- Thread t = new Thread(new Runnable() {
+ node.executor.execute(new Runnable() {
public void run() {
if(logMINOR)
Logger.minor(this, "Received
file");
@@ -852,9 +852,6 @@
Logger.minor(this, "Received
file");
}
}, "Receiver for bulk transfer "+uid+":"+filename);
- t.setDaemon(true);
- t.start();
- if(logMINOR) Logger.minor(this, "Receiving on "+t);
sendFileOfferAccepted(uid);
}
@@ -872,7 +869,7 @@
transmitter = new BulkTransmitter(prb,
DarknetPeerNode.this, uid, node.outputThrottle);
if(logMINOR)
Logger.minor(this, "Sending "+uid);
- Thread t = new Thread(new Runnable() {
+ node.executor.execute(new Runnable() {
public void run() {
if(logMINOR)
Logger.minor(this, "Sending
file");
@@ -891,8 +888,6 @@
}
}, "Sender for bulk transfer "+uid+":"+filename);
- t.setDaemon(true);
- t.start();
}
public void reject() {
Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-08-11
14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-08-11
15:34:20 UTC (rev 14605)
@@ -468,9 +468,7 @@
if(logMINOR) Logger.minor(this, "Detecting...");
synchronized(this) {
runner = new DetectorRunner();
- Thread t = new Thread(runner);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(runner, "Plugin detector runner");
}
}
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -147,9 +147,7 @@
// Receive the data, off thread
Runnable dataReceiver = new DataReceiver();
- Thread t = new Thread(dataReceiver, "InsertHandler$DataReceiver for
UID "+uid);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(dataReceiver, "InsertHandler$DataReceiver for
UID "+uid);
if(htl == 0) {
canCommit = true;
Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -120,9 +120,7 @@
public void startSender(Node n, SwapRequestInterval interval) {
this.node = n;
this.interval = interval;
- Thread t = new Thread(sender, "SwapRequest sender");
- t.setDaemon(true);
- t.start();
+ n.executor.execute(sender, "SwapRequest sender");
}
/**
@@ -200,10 +198,8 @@
* the wilderness.
*/
private void startSwapRequest() {
- Thread t = new Thread(new OutgoingSwapRequestHandler(),
+ node.executor.execute(new OutgoingSwapRequestHandler(),
"Outgoing swap request handler for port
"+node.getDarknetPortNumber());
- t.setDaemon(true);
- t.start();
}
/**
@@ -766,9 +762,7 @@
IncomingSwapRequestHandler isrh =
new IncomingSwapRequestHandler(m, pn, item);
if(logMINOR) Logger.minor(this, "Handling... "+uid);
- Thread t = new Thread(isrh, "Incoming swap request handler for
port "+node.getDarknetPortNumber());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(isrh, "Incoming swap request handler for
port "+node.getDarknetPortNumber());
return true;
} catch (Error e) {
unlock();
Modified: trunk/freenet/src/freenet/node/LoggingConfigHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/LoggingConfigHandler.java 2007-08-11
14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/LoggingConfigHandler.java 2007-08-11
15:34:20 UTC (rev 14605)
@@ -298,9 +298,7 @@
}
void start() {
- Thread t = new Thread(this, "Old log directory
"+logDir+" deleter");
- t.setDaemon(true);
- t.start();
+ executor.execute(this, "Old log directory "+logDir+"
deleter");
}
public void run() {
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -452,7 +452,7 @@
if(tmci != null)
tmci.start();
- Thread completer = new Thread(new Runnable() {
+ node.executor.execute(new Runnable() {
public void run() {
System.out.println("Resuming persistent
requests");
Logger.normal(this, "Resuming persistent
requests");
@@ -464,8 +464,6 @@
Logger.normal(this, "Completed startup: All
persistent requests resumed or restarted");
}
}, "Startup completion thread");
- completer.setDaemon(true);
- completer.start();
}
public ClientKeyBlock realGetKey(ClientKey key, boolean localOnly,
boolean cache, boolean ignoreStore) throws LowLevelGetException {
Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -191,9 +191,7 @@
}
//if(!node.lockUID(id)) return false;
RequestHandler rh = new RequestHandler(m, id, node);
- Thread t = new Thread(rh, "RequestHandler for UID "+id);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(rh, "RequestHandler for UID "+id);
return true;
}
@@ -234,14 +232,10 @@
long now = System.currentTimeMillis();
if(m.getSpec().equals(DMT.FNPSSKInsertRequest)) {
SSKInsertHandler rh = new SSKInsertHandler(m, id, node,
now);
- Thread t = new Thread(rh, "InsertHandler for "+id+" on
"+node.getDarknetPortNumber());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(rh, "InsertHandler for "+id+" on
"+node.getDarknetPortNumber());
} else {
InsertHandler rh = new InsertHandler(m, id, node, now);
- Thread t = new Thread(rh, "InsertHandler for "+id+" on
"+node.getDarknetPortNumber());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(rh, "InsertHandler for "+id+" on
"+node.getDarknetPortNumber());
}
if(logMINOR) Logger.minor(this, "Started InsertHandler for
"+id);
return true;
Modified: trunk/freenet/src/freenet/node/NodeIPDetector.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeIPDetector.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/NodeIPDetector.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -389,9 +389,7 @@
/** Start all IP detection related processes */
public void start() {
ipDetectorManager.start();
- Thread t = new Thread(ipDetector, "IP address re-detector");
- t.setDaemon(true);
- t.start();
+ node.executor.execute(ipDetector, "IP address re-detector");
redetectAddress();
// 60 second delay for inserting ARK to avoid reinserting more
than necessary if we don't detect IP on startup.
node.getTicker().queueTimedJob(new FastRunnable() {
Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/PacketSender.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -358,9 +358,7 @@
}
} else {
try {
- Thread t = new Thread(r,
"Scheduled job: "+r);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(r, "Scheduled
job: "+r);
} catch (OutOfMemoryError e) {
OOMHandler.handleOOM(e);
System.err.println("Will retry
above failed operation...");
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -145,7 +145,7 @@
BlockTransmitter bt =
new BlockTransmitter(node.usm, source, uid, prb,
node.outputThrottle, this);
node.addTransferringRequestHandler(uid);
- if(bt.send()) {
+ if(bt.send(node.executor)) {
status = RequestSender.SUCCESS; // for byte logging
if(source.isOpennet()) {
finishOpennetNoRelay();
@@ -184,7 +184,7 @@
BlockTransmitter bt =
new BlockTransmitter(node.usm, source, uid, prb,
node.outputThrottle, this);
node.addTransferringRequestHandler(uid);
- if(!bt.send()){
+ if(!bt.send(node.executor)){
finalTransferFailed = true;
} else {
// Successful CHK transfer, maybe path fold
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -113,9 +113,7 @@
}
public void start() {
- Thread t = new Thread(this, "RequestSender for UID "+uid);
- t.setDaemon(true);
- t.start();
+ node.executor.execute(this, "RequestSender for UID "+uid);
}
public void run() {
Modified: trunk/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarter.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/RequestStarter.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -90,10 +90,8 @@
// Create a thread to handle starting the
request, and the resulting feedback
while(true) {
try {
- Thread t = new Thread(new
SenderThread(req), "RequestStarter$SenderThread for "+req);
- t.setDaemon(true);
- t.start();
- if(logMINOR) Logger.minor(this,
"Started "+req+" on "+t);
+ core.getExecutor().execute(new
SenderThread(req), "RequestStarter$SenderThread for "+req);
+ if(logMINOR) Logger.minor(this,
"Started "+req);
break;
} catch (OutOfMemoryError e) {
OOMHandler.handleOOM(e);
Modified: trunk/freenet/src/freenet/node/SSKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/SSKInsertSender.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -97,9 +97,7 @@
}
void start() {
- Thread t = new Thread(this, "SSKInsertSender for UID "+uid+" on
"+node.getDarknetPortNumber()+" at "+System.currentTimeMillis());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(this, "SSKInsertSender for UID "+uid+" on
"+node.getDarknetPortNumber()+" at "+System.currentTimeMillis());
}
public void run() {
Modified: trunk/freenet/src/freenet/node/TestnetHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/TestnetHandler.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/TestnetHandler.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -124,9 +124,7 @@
}
void start() {
- Thread t = new Thread(this, "Testnet handler for
"+s.getInetAddress()+" at "+System.currentTimeMillis());
- t.setDaemon(true);
- t.start();
+ node.executor.execute(this, "Testnet handler for
"+s.getInetAddress()+" at "+System.currentTimeMillis());
}
public void run() {
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-08-11
14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-08-11
15:34:20 UTC (rev 14605)
@@ -908,9 +908,7 @@
private void probeAll() {
GlobalProbe p = new GlobalProbe(n);
- Thread t = new Thread(p);
- t.setDaemon(true);
- t.start();
+ n.executor.execute(p, "GlobalProbe");
}
/**
Modified: trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -47,15 +47,14 @@
this.bindTo=bindTo;
this.allowedHosts = allowedHosts;
this.isEnabled=true;
- networkInterface = NetworkInterface.create(port, bindTo,
allowedHosts);
+ networkInterface = NetworkInterface.create(port, bindTo,
allowedHosts, n.executor);
}
void start() {
Logger.normal(core, "TMCI started on
"+networkInterface.getAllowedHosts()+ ':' +port);
System.out.println("TMCI started on
"+networkInterface.getAllowedHosts()+ ':' +port);
- Thread t = new Thread(this, "Text mode client interface");
- t.setDaemon(true);
- t.start();
+
+ n.executor.execute(this, "Text mode client interface");
}
public static TextModeClientInterfaceServer maybeCreate(Node node,
NodeClientCore core, Config config) throws IOException {
@@ -232,9 +231,7 @@
TextModeClientInterface tmci =
new TextModeClientInterface(this, in,
out);
- Thread t = new Thread(tmci, "Text mode client
interface handler for "+s.getPort());
- t.setDaemon(true);
- t.start();
+ n.executor.execute(tmci, "Text mode client
interface handler for "+s.getPort());
} catch (SocketTimeoutException e) {
// Ignore and try again
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -22,9 +22,7 @@
}
void start() {
- Thread t = new Thread(this, "FCP input handler for
"+handler.sock.getRemoteSocketAddress());
- t.setDaemon(true);
- t.start();
+ handler.server.node.executor.execute(this, "FCP input handler
for "+handler.sock.getRemoteSocketAddress());
}
public void run() {
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -21,9 +21,7 @@
}
void start() {
- Thread t = new Thread(this, "FCP output handler for
"+handler.sock.getRemoteSocketAddress()+ ':' +handler.sock.getPort());
- t.setDaemon(true);
- t.start();
+ handler.server.node.executor.execute(this, "FCP output handler
for "+handler.sock.getRemoteSocketAddress()+ ':' +handler.sock.getPort());
}
public void run() {
Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java 2007-08-11 14:32:37 UTC
(rev 14604)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java 2007-08-11 15:34:20 UTC
(rev 14605)
@@ -117,7 +117,7 @@
NetworkInterface tempNetworkInterface = null;
try {
- tempNetworkInterface = NetworkInterface.create(port,
bindTo, allowedHosts);
+ tempNetworkInterface = NetworkInterface.create(port,
bindTo, allowedHosts, node.executor);
} catch (BindException be) {
Logger.error(this, "Couldn't bind to FCP Port "+bindTo+
':' +port+". FCP Server not started.");
System.out.println("Couldn't bind to FCP Port "+bindTo+
':' +port+". FCP Server not started.");
Modified: trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
2007-08-11 14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
2007-08-11 15:34:20 UTC (rev 14605)
@@ -530,9 +530,7 @@
if(logMINOR)
Logger.minor(this, "Sending
data...");
// Send the data
- Thread t = new Thread(r, "Revocation
key send for "+uid+" to "+source.userToString());
- t.setDaemon(true);
- t.start();
+ updateManager.node.executor.execute(r,
"Revocation key send for "+uid+" to "+source.userToString());
}
public void disconnected() {
// Argh
@@ -639,7 +637,7 @@
final BulkReceiver br = new BulkReceiver(prb, source, uid);
- Thread t = new Thread(new Runnable() {
+ updateManager.node.executor.execute(new Runnable() {
public void run() {
if(br.receive()) {
@@ -656,9 +654,6 @@
}, "Revocation key receive for "+uid+" from
"+source.userToString());
- t.setDaemon(true);
- t.start();
-
return true;
}
@@ -908,9 +903,8 @@
if(logMINOR)
Logger.minor(this, "Sending
data...");
// Send the data
- Thread t = new Thread(r, "Main jar send
for "+uid+" to "+source.userToString());
- t.setDaemon(true);
- t.start();
+
+ updateManager.node.executor.execute(r,
"Main jar send for "+uid+" to "+source.userToString());
}
public void disconnected() {
// Argh
@@ -1025,7 +1019,7 @@
final BulkReceiver br = new BulkReceiver(prb, source, uid);
- Thread t = new Thread(new Runnable() {
+ updateManager.node.executor.execute(new Runnable() {
public void run() {
try {
@@ -1049,9 +1043,6 @@
}, "Main jar ("+version+") receive for "+uid+" from
"+source.userToString());
- t.setDaemon(true);
- t.start();
-
return true;
}
Modified: trunk/freenet/src/freenet/support/PooledExecutor.java
===================================================================
--- trunk/freenet/src/freenet/support/PooledExecutor.java 2007-08-11
14:32:37 UTC (rev 14604)
+++ trunk/freenet/src/freenet/support/PooledExecutor.java 2007-08-11
15:34:20 UTC (rev 14605)
@@ -52,11 +52,13 @@
class MyThread extends Thread {
+ final String defaultName;
boolean alive = true;
Runnable nextJob;
- public MyThread(String string) {
- super(string);
+ public MyThread(String defaultName) {
+ super(defaultName);
+ this.defaultName = defaultName;
}
public void run() {
@@ -74,6 +76,7 @@
}
synchronized(this) {
if(nextJob == null) {
+
this.setName(defaultName);
try {
wait(TIMEOUT);
} catch
(InterruptedException e) {