in activeio-core/src/main/java/org/apache/activeio/xnet/ServiceDaemon.java [154:182]
public void run() {
while (!shouldStop()) {
Socket socket = null;
try {
socket = serverSocket.accept();
socket.setTcpNoDelay(true);
if (!shouldStop()) {
// the server service is responsible
// for closing the socket.
serverService.service(socket);
}
} catch (SocketTimeoutException e) {
// we don't really care
// log.debug("Socket timed-out",e);
} catch (Throwable e) {
log.error("Unexpected error", e);
}
}
if (serverSocket != null) {
try {
serverSocket.close();
} catch (IOException ioException) {
log.debug("Error cleaning up socked", ioException);
}
serverSocket = null;
}
serverService = null;
}