locking for channel