< prev index next >

src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java

Print this page
rev 1408 : 8022594: Potential deadlock in <clinit> of sun.nio.ch.Util/IOUtil
Reviewed-by: chegar

 162             endChannel.setIndex(i);
 163             pollWrapper.release(i);
 164             PollArrayWrapper.replaceEntry(pollWrapper, totalChannels - 1,
 165                                           pollWrapper, i);
 166         } else {
 167             pollWrapper.release(i);
 168         }
 169         // Destroy the last one
 170         channelArray[totalChannels-1] = null;
 171         totalChannels--;
 172         pollWrapper.totalChannels--;
 173         ski.setIndex(-1);
 174         // Remove the key from keys and selectedKeys
 175         keys.remove(ski);
 176         selectedKeys.remove(ski);
 177         deregister((AbstractSelectionKey)ski);
 178         SelectableChannel selch = ski.channel();
 179         if (!selch.isOpen() && !selch.isRegistered())
 180             ((SelChImpl)selch).kill();
 181     }
 182 
 183     static {
 184         Util.load();
 185     }
 186 
 187 }

 162             endChannel.setIndex(i);
 163             pollWrapper.release(i);
 164             PollArrayWrapper.replaceEntry(pollWrapper, totalChannels - 1,
 165                                           pollWrapper, i);
 166         } else {
 167             pollWrapper.release(i);
 168         }
 169         // Destroy the last one
 170         channelArray[totalChannels-1] = null;
 171         totalChannels--;
 172         pollWrapper.totalChannels--;
 173         ski.setIndex(-1);
 174         // Remove the key from keys and selectedKeys
 175         keys.remove(ski);
 176         selectedKeys.remove(ski);
 177         deregister((AbstractSelectionKey)ski);
 178         SelectableChannel selch = ski.channel();
 179         if (!selch.isOpen() && !selch.isRegistered())
 180             ((SelChImpl)selch).kill();
 181     }





 182 }
< prev index next >