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"


Reply via email to