X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=stratum.py;h=a8a0e0c2c39e579ac28225be8bdca780a7c45159;hb=878fe3c7b04f422cf51b9305fda71b12d8d84c2c;hp=f34bd06983ff8fc6549e6f1fcf703f70ffac25a4;hpb=9bb9585ad111f0e7a44301530ca29743baa9c4e3;p=electrum-server.git diff --git a/stratum.py b/stratum.py index f34bd06..a8a0e0c 100644 --- a/stratum.py +++ b/stratum.py @@ -129,18 +129,19 @@ class TcpClientRequestor(threading.Thread): while not self.shared.stopped(): if not self.update(): self.session.stop() - return + break + + while self.parse(): + pass def update(self): data = self.receive() if data is None: # close_session - self.stop() + self.session.stop() return False self.message += data - if not self.parse(): - return False return True def receive(self): @@ -152,11 +153,12 @@ class TcpClientRequestor(threading.Thread): def parse(self): raw_buffer = self.message.find('\n') if raw_buffer == -1: - return True + return False raw_command = self.message[0:raw_buffer].strip() self.message = self.message[raw_buffer + 1:] if raw_command == 'quit': + self.session.stop() return False try: