adc         2004/07/31 20:52:21

  Modified:    modules/network/src/java/org/apache/geronimo/network/protocol
                        ProtocolFactory.java
  Log:
  Sometimes the connection has been closed but not reclaimed.
  
  Revision  Changes    Path
  1.8       +9 -2      
incubator-geronimo/modules/network/src/java/org/apache/geronimo/network/protocol/ProtocolFactory.java
  
  Index: ProtocolFactory.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/network/src/java/org/apache/geronimo/network/protocol/ProtocolFactory.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ProtocolFactory.java      8 Jul 2004 05:13:29 -0000       1.7
  +++ ProtocolFactory.java      1 Aug 2004 03:52:20 -0000       1.8
  @@ -129,13 +129,20 @@
       }
   
       public void drain() throws Exception {
  +
           synchronized (connectionCache) {
               Iterator keys = connectionCache.keySet().iterator();
               while (keys.hasNext()) {
                   ConnectionCacheMonitor ccm = (ConnectionCacheMonitor) 
connectionCache.get(keys.next());
   
                   ClockDaemon.cancel(ccm.clockTicket);
  -                ccm.connection.drain();
  +                if (!ccm.connection.isDone()) {
  +                    try {
  +                        ccm.connection.drain();
  +                    } catch(ProtocolException pe) {
  +                        // DO NOTHING: protocol may have already stopped
  +                    }
  +                }
   
                   log.trace("Connection [" + ccm.key + "] reclaimed");
               }
  
  
  

Reply via email to