wait for the signal; return after the signal has occurred or the
		timeout in seconds elapses.

def wait_for_signal(self, timeout=None):
		"""
		wait for the signal; return after the signal has occurred or the
		timeout in seconds elapses.
		"""
		timeout_ms = int(timeout * 1000) if timeout else win32event.INFINITE
		win32event.WaitForSingleObject(self.signal_event, timeout_ms)