# HG changeset patch # User kazz # Date 1295676289 -32400 # Node ID fe4469e7915a81dad2d53ea8fe86d25aa5230f4f # Parent d5d2ca53a832c15dfe74b66ef3fc694279f7bcc8 change remove() to key.cancel() diff -r d5d2ca53a832 -r fe4469e7915a src/IOHandler.java --- a/src/IOHandler.java Sat Jan 22 05:30:20 2011 +0900 +++ b/src/IOHandler.java Sat Jan 22 15:04:49 2011 +0900 @@ -9,7 +9,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; - public class IOHandler implements Handler { public static int BUFFERSIZE = 8192; public HashMap map = new HashMap(); @@ -17,7 +16,7 @@ @Override public void handle(SelectionKey key) { if (!key.isReadable()) { - key.selector().keys().remove(key); + key.cancel(); return; } SocketChannel sChannel = (SocketChannel)key.channel(); @@ -43,6 +42,8 @@ ByteBuffer response = generateResponse(resCode); sChannel.write(response); System.out.println("sent response"); + } else { + key.cancel(); } } catch (IOException e) { e.printStackTrace();