code: def remove(self, recv):
          
          try:
              if recv.notify != self._put:
                  raise ValueError
              self._receivers.remove(recv)
              recv.notify = None
          except (IndexError, ValueError):
              raise Error(self.not_present_msg)
docs: Remove an object from from the select. Note that if the receiver has
          notified prior to :meth:`remove`, it will still be returned by a
          subsequent :meth:`get`. This may change in a future version.