if channel closed, break