You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2007/10/22 15:36:39 UTC
svn commit: r587087 - in
/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal:
ServerSocketChannelImpl.java SocketChannelImpl.java
Author: tellison
Date: Mon Oct 22 06:36:39 2007
New Revision: 587087
URL: http://svn.apache.org/viewvc?rev=587087&view=rev
Log:
Fix for HARMONY-4990 ([classlib][nio] file descriptors leak while work with connections)
Modified:
harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/ServerSocketChannelImpl.java
harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java
Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/ServerSocketChannelImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/ServerSocketChannelImpl.java?rev=587087&r1=587086&r2=587087&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/ServerSocketChannelImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/ServerSocketChannelImpl.java Mon Oct 22 06:36:39 2007
@@ -128,7 +128,7 @@
throw new NotYetBoundException();
}
- SocketChannel sockChannel = SocketChannel.open();
+ SocketChannel sockChannel = new SocketChannelImpl(SelectorProvider.provider(), false);
Socket socketGot = sockChannel.socket();
try {
Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java?rev=587087&r1=587086&r2=587087&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SocketChannelImpl.java Mon Oct 22 06:36:39 2007
@@ -136,19 +136,25 @@
// that specify an address packets are going to be sent to
private int trafficClass = 0;
- // -------------------------------------------------------------------
- // Constructor
- // -------------------------------------------------------------------
-
/*
- * Constructor
+ * Constructor for creating a connected socket channel
*/
public SocketChannelImpl(SelectorProvider selectorProvider)
throws IOException {
+ this(selectorProvider, true);
+ }
+
+ /*
+ * Constructor for creating an optionally connected socket channel.
+ */
+ public SocketChannelImpl(SelectorProvider selectorProvider, boolean connect)
+ throws IOException {
super(selectorProvider);
fd = new FileDescriptor();
status = SOCKET_STATUS_UNCONNECTED;
- networkSystem.createSocket(fd, true);
+ if (connect) {
+ networkSystem.createSocket(fd, true);
+ }
}
/*