jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
changeset 2446 07047237e4d4
parent 2057 3acf8e5e2ca0
child 5506 202f599c92aa
--- a/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java	Fri Apr 03 22:10:36 2009 +0100
+++ b/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java	Mon Apr 06 08:59:33 2009 +0100
@@ -32,6 +32,7 @@
 import java.nio.channels.*;
 import java.nio.channels.spi.*;
 import java.util.*;
+import sun.net.NetHooks;
 
 
 /**
@@ -526,6 +527,7 @@
                         throw new AlreadyBoundException();
                     InetSocketAddress isa = (local == null) ?
                         new InetSocketAddress(0) : Net.checkAddress(local);
+                    NetHooks.beforeTcpBind(fd, isa.getAddress(), isa.getPort());
                     Net.bind(fd, isa.getAddress(), isa.getPort());
                     localAddress = Net.localAddress(fd);
                 }
@@ -577,6 +579,12 @@
                                 if (!isOpen()) {
                                     return false;
                                 }
+                                // notify hook only if unbound
+                                if (localAddress == null) {
+                                    NetHooks.beforeTcpConnect(fd,
+                                                           isa.getAddress(),
+                                                           isa.getPort());
+                                }
                                 readerThread = NativeThread.current();
                             }
                             for (;;) {