code: def wait(self, timeout: Optional[float] = None) -> None:
          
          if _logger is not None:
              self._log(INFO, "wait")
          while not self.is_on:
              self._queue.join(timeout)
docs: Makes the current process wait for the signal. If it is closed, it will join the signal's queue.
  
          :param timeout:
              If this parameter is not ``None``, it is taken as a delay at the end of which the process times out, and
              stops waiting for the :py:class:`Signal`. In such a situation, a :py:class:`Timeout` exception is raised on
              the process.