Author: toad
Date: 2008-02-15 16:33:15 +0000 (Fri, 15 Feb 2008)
New Revision: 17949
Modified:
trunk/freenet/src/freenet/node/PacketSender.java
trunk/freenet/src/freenet/node/Ticker.java
trunk/freenet/src/freenet/support/PooledExecutor.java
Log:
... and run stuff directly if we can
Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java 2008-02-15 16:30:27 UTC
(rev 17948)
+++ trunk/freenet/src/freenet/node/PacketSender.java 2008-02-15 16:33:15 UTC
(rev 17949)
@@ -466,8 +466,12 @@
}
public void queueTimedJob(Runnable job, long offset) {
+ queueTimedJob(job, offset, false);
+ }
+
+ public void queueTimedJob(Runnable job, long offset, boolean
runOnTickerAnyway) {
// Run directly *if* that won't cause any priority problems.
- if(offset <= 0 && started && !NativeThread.usingNativeCode()) {
+ if(offset <= 0 && !runOnTickerAnyway) {
if(logMINOR) Logger.minor(this, "Running directly:
"+job);
node.executor.execute(job, "Scheduled job: " + job);
return;
Modified: trunk/freenet/src/freenet/node/Ticker.java
===================================================================
--- trunk/freenet/src/freenet/node/Ticker.java 2008-02-15 16:30:27 UTC (rev
17948)
+++ trunk/freenet/src/freenet/node/Ticker.java 2008-02-15 16:33:15 UTC (rev
17949)
@@ -6,5 +6,6 @@
public interface Ticker {
public abstract void queueTimedJob(Runnable job, long offset);
+ public abstract void queueTimedJob(Runnable job, long offset, boolean
runOnTickerAnyway);
}
\ No newline at end of file
Modified: trunk/freenet/src/freenet/support/PooledExecutor.java
===================================================================
--- trunk/freenet/src/freenet/support/PooledExecutor.java 2008-02-15
16:30:27 UTC (rev 17948)
+++ trunk/freenet/src/freenet/support/PooledExecutor.java 2008-02-15
16:33:15 UTC (rev 17949)
@@ -64,7 +64,7 @@
// Must create new thread
if((!fromTicker) &&
NativeThread.usingNativeCode() && prio < Thread.currentThread().getPriority()) {
// Run on ticker
- ticker.queueTimedJob(job, 0);
+ ticker.queueTimedJob(job, 0,
true);
return;
}
// Will be coalesced by thread count
listings if we use "@" or "for"