code: def reserve_pins(self, requester, *pins):
          
          with self._res_lock:
              for pin in pins:
                  for reserver_ref in self._reservations[pin]:
                      reserver = reserver_ref()
                      if reserver is not None and requester._conflicts_with(reserver):
                          raise GPIOPinInUse('pin %s is already in use by %r' %
                                             (pin, reserver))
                  self._reservations[pin].append(ref(requester))
docs: Called to indicate that the device reserves the right to use the
          specified *pins*. This should be done during device construction.  If
          pins are reserved, you must ensure that the reservation is released by
          eventually called :meth:`release_pins`.