diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java index e47b3451c2c..2f376033a7b 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java @@ -15,10 +15,13 @@ * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * Noriaki Takatsu (IBM) - [227905] prevent double invocations of finished in ConncetionEstablisher * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * Noriaki Takatsu (IBM) - [257666] [multithread] TCP/IP socket connection is not closed + * David McKnight (IBM) - [257666] modified original patch to simplify *******************************************************************************/ package org.eclipse.dstore.core.server; +import java.io.IOException; import java.net.Socket; import org.eclipse.dstore.core.model.DataElement; @@ -82,6 +85,13 @@ public class ServerReceiver extends Receiver _dataStore.setConnected(false); super.finish(); _connection.finished(this); + try + { + socket().close(); + } + catch (IOException e){ + System.out.println(e); + } } /** @@ -93,6 +103,13 @@ public class ServerReceiver extends Receiver e.printStackTrace(); System.out.println(e); _connection.finished(this); + try + { + socket().close(); + } + catch (IOException IOe){ + System.out.println(IOe); + } } }