costin      01/04/21 22:39:54

  Modified:    src/share/org/apache/tomcat/util/threads Reaper.java
  Log:
  Small fix - use interrupt to stop the reaper from sleeping.
  
  Revision  Changes    Path
  1.4       +5 -2      
jakarta-tomcat/src/share/org/apache/tomcat/util/threads/Reaper.java
  
  Index: Reaper.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/threads/Reaper.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Reaper.java       2000/10/27 02:44:58     1.3
  +++ Reaper.java       2001/04/22 05:39:53     1.4
  @@ -122,18 +122,20 @@
   
       public synchronized void stopReaper() {
        running=false;
  -     this.notify();
  +     System.out.println("Stop reaper ");
  +     this.interrupt(); // notify() doesn't stop sleep
       }
       
       public void run() {
        while (running) {
  +         if( !running) break;
            try {
                this.sleep(interval);
            } catch (InterruptedException ie) {
                // sometimes will happen
            }
   
  -         if( !running) return;
  +         if( !running) break;
            for( int i=0; i< count; i++ ) {
                ThreadPoolRunnable callB=cbacks[i];
                // it may be null if a callback is removed.
  @@ -141,6 +143,7 @@
                if( callB!= null ) {
                    callB.runIt( tdata[i] );
                }
  +             if( !running) break;
            }
        }
       }
  
  
  

Reply via email to