code: def free(self):
          
          LOGGER.debug('Connection %s freeing', self.id)
          if self.handle.isexecuting():
              raise ConnectionBusyError(self)
          with self._lock:
              self.used_by = None
          LOGGER.debug('Connection %s freed', self.id)
docs: Remove the lock on the connection if the connection is not active
  
          :raises: ConnectionBusyError