the .select() call on the NIO socket channel does not
seem to work correctly. i have a suspicion this is a
bug to be fixed in 1.4.1, but the select() call does
not block when there is no I/O to do (as it should).
instead, we end up using 100% of processor when there
is an idle client connected to a server. on windows and
mac os x, this does not happen.