### Eclipse Workspace Patch 1.0 #P org.eclipse.rse.connectorservice.dstore Index: src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java,v retrieving revision 1.19 diff -u -r1.19 StatusMonitor.java --- src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java 9 May 2008 14:28:28 -0000 1.19 +++ src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java 1 Jun 2009 14:04:15 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * David McKnight (IBM) - [225902] [dstore] use C_NOTIFICATION command to wake up the server * David McKnight (IBM) - [229947] [dstore] interruption to Thread.sleep() should not stop waitForUpdate() * David McKnight (IBM) - [231126] [dstore] status monitor needs to reset WaitThreshold on nudge + * David McKnight (IBM) - [278341] [dstore] Disconnect on idle causes the client hang *******************************************************************************/ package org.eclipse.rse.connectorservice.dstore.util; @@ -346,7 +347,7 @@ nudges++; WaitThreshold = initialWaitThreshold; } - else if (_networkDown) + else if (_networkDown || !_dataStore.isConnected()) { dispose(); throw new InterruptedException(); #P org.eclipse.dstore.core Index: src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java =================================================================== RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java,v retrieving revision 1.11 diff -u -r1.11 ServerCommandHandler.java --- src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java 18 Aug 2008 12:48:56 -0000 1.11 +++ src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java 1 Jun 2009 14:04:16 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) - [244388] [dstore] Connection hangs when a miner not installed + * David McKnight (IBM) - [278341] [dstore] Disconnect on idle causes the client hang *******************************************************************************/ package org.eclipse.dstore.internal.core.server; @@ -66,8 +67,12 @@ System.out.println(ServerReturnCodes.RC_FINISHED); // only exit if there's no service manager - if (SystemServiceManager.getInstance().getSystemService() == null) + if (SystemServiceManager.getInstance().getSystemService() == null){ System.exit(0); + } + else { + _dataStore.getClient().disconnectServerReceiver(); + } } } @@ -83,7 +88,6 @@ // if we do timeout then it's time to shutdown the server return; } - System.out.println("server timed out!"); //$NON-NLS-1$ _serverTimedOut = true; }