Hi,

I've committed the attached patch, which adds a shutdown method to ITransport.java and friends.

Keith

ChangeLog
2005-09-02  Keith Seitz  <[EMAIL PROTECTED]>

* gnu/classpath/jdwp/transport/ITransport.java (shutdown): New method. * gnu/classpath/jdwp/transport/JdwpConnection.java (JdwpConnection): Add
        ThreadGroup argument.
* gnu/classpath/jdwp/transport/SocketTransport.java (shutdown): New method.
Index: gnu/classpath/jdwp/transport/ITransport.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/transport/ITransport.java,v
retrieving revision 1.2
diff -u -p -r1.2 ITransport.java
--- gnu/classpath/jdwp/transport/ITransport.java	2 Jul 2005 20:32:10 -0000	1.2
+++ gnu/classpath/jdwp/transport/ITransport.java	3 Sep 2005 00:20:48 -0000
@@ -49,7 +49,7 @@ import java.util.HashMap;
  * A class representing a transport layer. This class serves as a generic
  * interface for all transport types used in the JDWP back-end.
  *
- * @author Keith Seitz <[EMAIL PROTECTED]>
+ * @author Keith Seitz ([EMAIL PROTECTED])
  */
 public interface ITransport
 {
@@ -69,6 +69,11 @@ public interface ITransport
    */
   public void initialize ()
     throws TransportException;
+
+  /**
+   * Shutdown the transport
+   */
+  public void shutdown ();
 
   /**
    * Get the input stream for the transport
Index: gnu/classpath/jdwp/transport/JdwpConnection.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/transport/JdwpConnection.java,v
retrieving revision 1.4
diff -u -p -r1.4 JdwpConnection.java
--- gnu/classpath/jdwp/transport/JdwpConnection.java	2 Jul 2005 20:32:10 -0000	1.4
+++ gnu/classpath/jdwp/transport/JdwpConnection.java	3 Sep 2005 00:20:48 -0000
@@ -96,8 +96,9 @@ public class JdwpConnection
    *
    * @param transport  the transport to use for communications
    */
-  public JdwpConnection (ITransport transport)
+  public JdwpConnection (ThreadGroup group, ITransport transport)
   {
+    super (group, "JDWP connection thread");
     _transport = transport;
     _commandQueue = new ArrayList ();
     _shutdown = false;
@@ -177,7 +178,7 @@ public class JdwpConnection
 	       2. Transport was shutdown
 	       In either case, we make sure that all of the
 	       back-end gets shutdown. */
-	    Jdwp.getInstance().shutdown ();
+	    Jdwp.getDefault().shutdown ();
 	  }
 	catch (Throwable t)
 	  {
Index: gnu/classpath/jdwp/transport/SocketTransport.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/classpath/jdwp/transport/SocketTransport.java,v
retrieving revision 1.2
diff -u -p -r1.2 SocketTransport.java
--- gnu/classpath/jdwp/transport/SocketTransport.java	2 Jul 2005 20:32:10 -0000	1.2
+++ gnu/classpath/jdwp/transport/SocketTransport.java	3 Sep 2005 00:20:48 -0000
@@ -57,7 +57,7 @@ import javax.net.SocketFactory;
  * configury string that looks like "name=dt_socket,
  * address=localhost:1234,server=y".
  *
- * @author Keith Seitz <[EMAIL PROTECTED]>
+ * @author Keith Seitz ([EMAIL PROTECTED])
  */
 class SocketTransport
   implements ITransport
@@ -142,6 +142,22 @@ class SocketTransport
       {
 	// This will grab UnknownHostException, too.
 	throw new TransportException (ioe);
+      }
+  }
+
+  /**
+   * Shutdown the socket. This could cause SocketExceptions
+   * for anyone blocked on socket i/o
+   */
+  public void shutdown ()
+  {
+    try
+      {
+	_socket.close ();
+      }
+    catch (Throwable t)
+      {
+	// We don't really care about errors at this point
       }
   }
 
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to