equal
deleted
inserted
replaced
137 } |
137 } |
138 |
138 |
139 FileDispatcherImpl.closeIntFD(fd0); |
139 FileDispatcherImpl.closeIntFD(fd0); |
140 FileDispatcherImpl.closeIntFD(fd1); |
140 FileDispatcherImpl.closeIntFD(fd1); |
141 |
141 |
142 pollWrapper.release(fd0); |
|
143 pollWrapper.closeEPollFD(); |
142 pollWrapper.closeEPollFD(); |
144 // it is possible |
143 // it is possible |
145 selectedKeys = null; |
144 selectedKeys = null; |
146 |
145 |
147 // Deregister channels |
146 // Deregister channels |
160 } |
159 } |
161 |
160 |
162 protected void implRegister(SelectionKeyImpl ski) { |
161 protected void implRegister(SelectionKeyImpl ski) { |
163 if (closed) |
162 if (closed) |
164 throw new ClosedSelectorException(); |
163 throw new ClosedSelectorException(); |
165 int fd = IOUtil.fdVal(ski.channel.getFD()); |
164 SelChImpl ch = ski.channel; |
166 fdToKey.put(Integer.valueOf(fd), ski); |
165 fdToKey.put(Integer.valueOf(ch.getFDVal()), ski); |
167 pollWrapper.add(fd); |
166 pollWrapper.add(ch); |
168 keys.add(ski); |
167 keys.add(ski); |
169 } |
168 } |
170 |
169 |
171 protected void implDereg(SelectionKeyImpl ski) throws IOException { |
170 protected void implDereg(SelectionKeyImpl ski) throws IOException { |
172 assert (ski.getIndex() >= 0); |
171 assert (ski.getIndex() >= 0); |
173 int fd = ski.channel.getFDVal(); |
172 SelChImpl ch = ski.channel; |
|
173 int fd = ch.getFDVal(); |
174 fdToKey.remove(Integer.valueOf(fd)); |
174 fdToKey.remove(Integer.valueOf(fd)); |
175 pollWrapper.release(fd); |
175 pollWrapper.release(ch); |
176 ski.setIndex(-1); |
176 ski.setIndex(-1); |
177 keys.remove(ski); |
177 keys.remove(ski); |
178 selectedKeys.remove(ski); |
178 selectedKeys.remove(ski); |
179 deregister((AbstractSelectionKey)ski); |
179 deregister((AbstractSelectionKey)ski); |
180 SelectableChannel selch = ski.channel(); |
180 SelectableChannel selch = ski.channel(); |
183 } |
183 } |
184 |
184 |
185 void putEventOps(SelectionKeyImpl sk, int ops) { |
185 void putEventOps(SelectionKeyImpl sk, int ops) { |
186 if (closed) |
186 if (closed) |
187 throw new ClosedSelectorException(); |
187 throw new ClosedSelectorException(); |
188 int fd = IOUtil.fdVal(sk.channel.getFD()); |
188 pollWrapper.setInterest(sk.channel, ops); |
189 pollWrapper.setInterest(fd, ops); |
|
190 } |
189 } |
191 |
190 |
192 public Selector wakeup() { |
191 public Selector wakeup() { |
193 synchronized (interruptLock) { |
192 synchronized (interruptLock) { |
194 if (!interruptTriggered) { |
193 if (!interruptTriggered) { |