diff -r d52e90757805 -r dcf8c50ed06a DebugClients/Python/DebugClientBase.py --- a/DebugClients/Python/DebugClientBase.py Sat Dec 23 16:42:21 2017 +0100 +++ b/DebugClients/Python/DebugClientBase.py Sun Dec 24 15:19:00 2017 +0100 @@ -1014,19 +1014,24 @@ Public method called when there is data ready to be read. @param stream file like object that has data to be written + @return flag indicating an error condition + @rtype bool """ + error = False + + self.lockClient() try: - self.lockClient() command = stream.readCommand() - self.unlockClient() except Exception: - return + error = True + self.unlockClient() - if len(command) == 0: + if len(command) == 0 or error: self.sessionClose() - return + else: + self.handleJsonCommand(command) - self.handleJsonCommand(command) + return error def writeReady(self, stream): """ @@ -1079,7 +1084,9 @@ continue if self.readstream in rrdy: - self.readReady(self.readstream) + error = self.readReady(self.readstream) + if error: + break if self.writestream in wrdy: self.writeReady(self.writestream)