Fix idle timeout channel to reduce timer usage and time out even if the IO thread is blocked