Author: toad
Date: 2008-11-06 20:58:57 +0000 (Thu, 06 Nov 2008)
New Revision: 23366

Modified:
   trunk/freenet/src/freenet/support/compress/RealCompressor.java
Log:
Logging, only wait() if we need to.


Modified: trunk/freenet/src/freenet/support/compress/RealCompressor.java
===================================================================
--- trunk/freenet/src/freenet/support/compress/RealCompressor.java      
2008-11-06 20:31:37 UTC (rev 23365)
+++ trunk/freenet/src/freenet/support/compress/RealCompressor.java      
2008-11-06 20:58:57 UTC (rev 23366)
@@ -26,6 +26,8 @@

        public synchronized void enqueueNewJob(CompressJob j) {
                _awaitingJobs.add(j);
+               if(Logger.shouldLog(Logger.MINOR, this))
+                       Logger.minor(this, "Enqueueing compression job: "+j);
                notifyAll();
        }

@@ -35,11 +37,12 @@
                        CompressJob currentJob = null;
                        try {
                                synchronized(this) {
-                                       wait();
                                        currentJob = _awaitingJobs.poll();
+                                       if(currentJob == null) {
+                                               wait();
+                                               continue;
+                                       }
                                }
-                               if(currentJob == null)
-                                       continue;
                                
Compressor.COMPRESSOR_TYPE.compressorSemaphore.acquire(); 
                        } catch(InterruptedException e) {
                                Logger.error(this, "caught: "+e.getMessage(), 
e);


Reply via email to