Example #1
0
    def start(self):
        """
        Start process.

        .. note::

            Process will be considered started, when defined banner will appear
            in process output.
        """
        Executor.start(self)

        # get a polling object
        self.poll_obj = select.poll()

        # register a file descriptor
        # POLLIN because we will wait for data to read
        self.poll_obj.register(self.output(), select.POLLIN)

        try:
            self.wait_for(self._wait_for_output)

            # unregister the file descriptor and delete the polling object
            self.poll_obj.unregister(self.output())
        finally:
            del self.poll_obj