use the resume call before pumping data from a reader

This commit is contained in:
Jakob Ketterl 2021-10-26 16:40:38 +02:00
parent 4bc6608e87
commit 33c8e34456
2 changed files with 4 additions and 0 deletions

View File

@ -120,6 +120,8 @@ class PopenModule(AutoStartModule, metaclass=ABCMeta):
def start(self): def start(self):
self.process = Popen(self.getCommand(), stdin=PIPE, stdout=PIPE) self.process = Popen(self.getCommand(), stdin=PIPE, stdout=PIPE)
# resume in case the reader has been stop()ed before
self.reader.resume()
Thread(target=self.pump(self.reader.read, self.process.stdin.write)).start() Thread(target=self.pump(self.reader.read, self.process.stdin.write)).start()
Thread(target=self.pump(partial(self.process.stdout.read, 1024), self.writer.write)).start() Thread(target=self.pump(partial(self.process.stdout.read, 1024), self.writer.write)).start()

View File

@ -49,6 +49,8 @@ class DirewolfModule(AutoStartModule, DirewolfConfigSubscriber):
stdin=PIPE, stdin=PIPE,
) )
# resume in case the reader has been stop()ed before
self.reader.resume()
threading.Thread(target=self.pump(self.reader.read, self.process.stdin.write)).start() threading.Thread(target=self.pump(self.reader.read, self.process.stdin.write)).start()
delay = 0.5 delay = 0.5