Changed the keepChannel to buffered channel to avoid unnecessary goroutine yield.