)]}'
{"ironic/utils/process_supervisor.py":[{"author":{"_account_id":7562,"name":"Dmitry Teselkin","email":"dteselkin@mirantis.com","username":"dteselkin"},"change_message_id":"c2bb9787f9ceb9b669101556eef9fee00ef99ee4","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            self._proc \u003d subprocess.Popen(self.start_command,"},{"line_number":86,"context_line":"                                          shell\u003dself.shell,"},{"line_number":87,"context_line":"                                          close_fds\u003dself.close_fds)"},{"line_number":88,"context_line":"            self._proc.communicate()"},{"line_number":89,"context_line":"            res \u003d self._proc.wait()"},{"line_number":90,"context_line":"        except OSError as e:"},{"line_number":91,"context_line":"            LOG.error(\u0027failed to run command: %s\u0027, e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_8fb4f536","line":88,"updated":"2019-03-10 16:52:59.000000000","message":"What\u0027s the point of using \u0027communicate\u0027 here if you\u0027re not working with STDIN, STDOUT, STDERR streams anyway? You could use subprocess.call() similar to L112.","commit_id":"54af8112bf10b8da5e818566a2008a1a6d342efc"},{"author":{"_account_id":7562,"name":"Dmitry Teselkin","email":"dteselkin@mirantis.com","username":"dteselkin"},"change_message_id":"f1fbb986033e8dda6db1e391034cdec86a202c50","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            self._proc \u003d subprocess.Popen(self.start_command,"},{"line_number":86,"context_line":"                                          shell\u003dself.shell,"},{"line_number":87,"context_line":"                                          close_fds\u003dself.close_fds)"},{"line_number":88,"context_line":"            self._proc.communicate()"},{"line_number":89,"context_line":"            res \u003d self._proc.wait()"},{"line_number":90,"context_line":"        except OSError as e:"},{"line_number":91,"context_line":"            LOG.error(\u0027failed to run command: %s\u0027, e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_51ef82af","line":88,"in_reply_to":"5fc1f717_464b46af","updated":"2019-03-11 19:51:06.000000000","message":"Got it, but is .wait() not enough?","commit_id":"54af8112bf10b8da5e818566a2008a1a6d342efc"},{"author":{"_account_id":8745,"name":"Lars Kellogg-Stedman","email":"lars@redhat.com","username":"lars"},"change_message_id":"006b26f2bbed1a0757a8b9dfd108ed0050738a55","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            self._proc \u003d subprocess.Popen(self.start_command,"},{"line_number":86,"context_line":"                                          shell\u003dself.shell,"},{"line_number":87,"context_line":"                                          close_fds\u003dself.close_fds)"},{"line_number":88,"context_line":"            self._proc.communicate()"},{"line_number":89,"context_line":"            res \u003d self._proc.wait()"},{"line_number":90,"context_line":"        except OSError as e:"},{"line_number":91,"context_line":"            LOG.error(\u0027failed to run command: %s\u0027, e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_8c65cde3","line":88,"in_reply_to":"5fc1f717_51ef82af","updated":"2019-03-11 20:24:44.000000000","message":"Probably it is, yeah.","commit_id":"54af8112bf10b8da5e818566a2008a1a6d342efc"},{"author":{"_account_id":8745,"name":"Lars Kellogg-Stedman","email":"lars@redhat.com","username":"lars"},"change_message_id":"eef3d918149d12163bdc1c104172100a924f2587","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            self._proc \u003d subprocess.Popen(self.start_command,"},{"line_number":86,"context_line":"                                          shell\u003dself.shell,"},{"line_number":87,"context_line":"                                          close_fds\u003dself.close_fds)"},{"line_number":88,"context_line":"            self._proc.communicate()"},{"line_number":89,"context_line":"            res \u003d self._proc.wait()"},{"line_number":90,"context_line":"        except OSError as e:"},{"line_number":91,"context_line":"            LOG.error(\u0027failed to run command: %s\u0027, e)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_464b46af","line":88,"in_reply_to":"5fc1f717_8fb4f536","updated":"2019-03-11 19:04:33.000000000","message":"The reason is that I want access to self._proc.pid when responding to a TERM or INT signal, which we can\u0027t get when using subprocess.call().","commit_id":"54af8112bf10b8da5e818566a2008a1a6d342efc"}]}
