--- a/DebugClients/Python/DebugClientBase.py Sat Dec 02 12:40:52 2017 +0100 +++ b/DebugClients/Python/DebugClientBase.py Sun Dec 31 18:27:40 2017 +0100 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2002 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# Copyright (c) 2002 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> # """ @@ -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)