From 08d82ca0444f8a7ce889b25593775e9c29ccab4f Mon Sep 17 00:00:00 2001 From: Chris Hegarty Date: Tue, 11 Oct 2011 12:06:46 +0100 Subject: [PATCH] 7099488: TwoStacksPlainSocketImpl should invoke super.create(stream), typo in fix for 7098719 Reviewed-by: coffeys --- jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java | 2 +- .../windows/classes/java/net/TwoStacksPlainSocketImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java b/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java index ba2a2551368..c510c6179fd 100644 --- a/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java +++ b/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java @@ -71,7 +71,7 @@ abstract class AbstractPlainSocketImpl extends SocketImpl /* whether this Socket is a stream (TCP) socket or not (UDP) */ - private boolean stream; + protected boolean stream; /** * Load net library into runtime. diff --git a/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java b/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java index f51b1bb68ca..0b020b39b57 100644 --- a/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java +++ b/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java @@ -26,6 +26,7 @@ package java.net; import java.io.IOException; import java.io.FileDescriptor; +import sun.net.ResourceManager; /* * This class defines the plain SocketImpl that is used for all @@ -82,7 +83,7 @@ class TwoStacksPlainSocketImpl extends AbstractPlainSocketImpl protected synchronized void create(boolean stream) throws IOException { fd1 = new FileDescriptor(); try { - super.create(); + super.create(stream); } catch (IOException e) { fd1 = null; throw e; @@ -125,6 +126,9 @@ class TwoStacksPlainSocketImpl extends AbstractPlainSocketImpl protected void close() throws IOException { synchronized(fdLock) { if (fd != null || fd1 != null) { + if (!stream) { + ResourceManager.afterUdpClose(); + } if (fdUseCount == 0) { if (closePending) { return;