We don't want concurrency here. This is to make sure channels are shut down in a serial manner. It shouldn't be that bad as exclusive lock will be granted only when a channel is opened to new destination and an existing one is closed. In concurrent access scenario, readlock will not stand in the way.