--- 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 (;;) {