Description
SelectorManager creates an Executor that is not shut down on termination of the Transport.
The Executor currently uses non-daemon threads and is is not guaranteed the the SelectorWorker thread exit condition is ever met.
This causes the shutdown to hang when using transports that utilise the SelectorManager, such as nio+ssl for example.
The proposed patch shuts down the ExecutorService on/after Transport shutdown. The SelectorWorkers also check for this as an exit condition.