diff -r 4dc04372d56b -r 399359a027de jdk/src/solaris/classes/sun/nio/ch/EPollPort.java --- a/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java Sat Aug 22 17:40:18 2009 +0100 +++ b/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java Sun Aug 23 12:53:45 2009 +0100 @@ -248,12 +248,13 @@ public void run() { Invoker.GroupAndInvokeCount myGroupAndInvokeCount = Invoker.getGroupAndInvokeCount(); + final boolean isPooledThread = (myGroupAndInvokeCount != null); boolean replaceMe = false; Event ev; try { for (;;) { // reset invoke count - if (myGroupAndInvokeCount != null) + if (isPooledThread) myGroupAndInvokeCount.resetInvokeCount(); try { @@ -289,7 +290,7 @@ // process event try { - ev.channel().onEvent(ev.events()); + ev.channel().onEvent(ev.events(), isPooledThread); } catch (Error x) { replaceMe = true; throw x; } catch (RuntimeException x) {