--- projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/CorbaDataHandler.java 2001/05/29 17:02:34 1.10 +++ projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/CorbaDataHandler.java 2001/11/15 13:45:46 1.11 @@ -12,7 +12,7 @@ import uk.org.iscream.cms.server.client.*; * Acts as a Data Handler to a CORBA based client. * * @author $Author: tdb $ - * @version $Id: CorbaDataHandler.java,v 1.10 2001/05/29 17:02:34 tdb Exp $ + * @version $Id: CorbaDataHandler.java,v 1.11 2001/11/15 13:45:46 tdb Exp $ */ class CorbaDataHandler extends Thread { @@ -21,7 +21,7 @@ class CorbaDataHandler extends Thread { /** * The current CVS revision of this class */ - public final String REVISION = "$Revision: 1.10 $"; + public final String REVISION = "$Revision: 1.11 $"; //---STATIC METHODS--- @@ -95,10 +95,13 @@ class CorbaDataHandler extends Thread { catch (org.omg.CORBA.COMM_FAILURE e) { // lets stop sending, the client has quit run = false; - _logger.write(toString(), Logger.ERROR, "Connection failure, client shutdown? : "+e); - // disconnect the servant above us, or at least try - _cchServant.disconnect(); + _logger.write(toString(), Logger.ERROR, "Connection failure (COMM_FAILURE), client shutdown? : "+e); } + catch (org.omg.CORBA.TRANSIENT e) { + // lets stop sending, the client has quit + run = false; + _logger.write(toString(), Logger.ERROR, "Connection failure (TRANSIENT), client shutdown? : "+e); + } } } catch(InvalidQueueException e) { @@ -107,6 +110,8 @@ class CorbaDataHandler extends Thread { _logger.write(toString(), Logger.ERROR, "Queue failure: "+e); } } + // disconnect the servant above us, or at least try + _cchServant.disconnect(); // if we get here we've been told to stop _logger.write(toString(), Logger.SYSMSG, "Shutting Down"); // remove ourselves from the queue