src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java

Print this page




 163         int fd = IOUtil.fdVal(ski.channel.getFD());
 164         fdToKey.put(Integer.valueOf(fd), ski);
 165         keys.add(ski);
 166     }
 167 
 168     protected void implDereg(SelectionKeyImpl ski) throws IOException {
 169         int i = ski.getIndex();
 170         assert (i >= 0);
 171         int fd = ski.channel.getFDVal();
 172         fdToKey.remove(Integer.valueOf(fd));
 173         pollWrapper.release(fd);
 174         ski.setIndex(-1);
 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     void putEventOps(SelectionKeyImpl sk, int ops) {
 184         if (closed)
 185             throw new ClosedSelectorException();
 186         int fd = IOUtil.fdVal(sk.channel.getFD());
 187         pollWrapper.setInterest(fd, ops);
 188     }
 189 
 190     public Selector wakeup() {
 191         synchronized (interruptLock) {
 192             if (!interruptTriggered) {
 193                 pollWrapper.interrupt();
 194                 interruptTriggered = true;
 195             }
 196         }
 197         return this;
 198     }
 199 
 200     static {
 201         Util.load();
 202     }
 203 


 163         int fd = IOUtil.fdVal(ski.channel.getFD());
 164         fdToKey.put(Integer.valueOf(fd), ski);
 165         keys.add(ski);
 166     }
 167 
 168     protected void implDereg(SelectionKeyImpl ski) throws IOException {
 169         int i = ski.getIndex();
 170         assert (i >= 0);
 171         int fd = ski.channel.getFDVal();
 172         fdToKey.remove(Integer.valueOf(fd));
 173         pollWrapper.release(fd);
 174         ski.setIndex(-1);
 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     public void putEventOps(SelectionKeyImpl sk, int ops) {
 184         if (closed)
 185             throw new ClosedSelectorException();
 186         int fd = IOUtil.fdVal(sk.channel.getFD());
 187         pollWrapper.setInterest(fd, ops);
 188     }
 189 
 190     public Selector wakeup() {
 191         synchronized (interruptLock) {
 192             if (!interruptTriggered) {
 193                 pollWrapper.interrupt();
 194                 interruptTriggered = true;
 195             }
 196         }
 197         return this;
 198     }
 199 
 200     static {
 201         Util.load();
 202     }
 203