Comment #1 on issue 1399 by [email protected]: End all Processes keyword does not end any process
http://code.google.com/p/robotframework/issues/detail?id=1399

I attempted to just add a call to 'terminate'. This seems to do the trick, for me. I don't know what it breaks, however...




class _Process2(_Process):

    def __init__(self, command, input_):
        self._command = self._process_command(command)
p = subprocess.Popen(self._command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
                             close_fds=os.sep=='/')
        self.p=p
        stdin, self.stdout = p.stdin, p.stdout
        if input_:
            stdin.write(input_)
        stdin.close()
        self.closed = False

    def read(self):
        if self.closed:
            raise RuntimeError('Cannot read from a closed process')
        return self._process_output(self.stdout.read())

    def close(self):
        if not self.closed:
            self.stdout.close()
            self.p.terminate()
            self.closed = True


Attachments:
        OperatingSystem.py  54.8 KB

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to