Current MINA implementation doesn't support half-duplex close as described in RFC-793 section 3.5. "Closing a Connection".
After the read in AbstractPollingIoProcessor#read() fails due to closed of the input stream whole NioSocketSession#channel is scheduled to close. In such situation only the input part should be closed with call to SocketChannel#socket().shutdownInput(). The whole channel should be closed only after the IoSession#close() call.