do not crash on unexpected connectionLost
[hippotat] / hippotat
index a6ec7ae..b8477bb 100755 (executable)
--- a/hippotat
+++ b/hippotat
@@ -56,9 +56,10 @@ class ResponseConsumer(GeneralResponseConsumer):
       self._handleexception()
 
   def connectionLost(self, reason):
-    self._log(DBG.HTTP_CTRL, 'connectionLost ' + str(reason))
+    reason_msg = 'connectionLost ' + str(reason)
+    self._log(DBG.HTTP_CTRL, reason_msg)
     if not reason.check(twisted.web.client.ResponseDone):
-      self.latefailure()
+      self._latefailure(reason_msg)
       return
     try:
       self._log(DBG.HTTP, 'ResponseDone')
@@ -150,6 +151,7 @@ class Client():
     # later, by ResponsConsumer or ErrorResponsConsumer
     try:
       cl.log(DBG.HTTP_CTRL, 'req_err ' + str(err), idof=req)
+      cl.running_reported = False
       if isinstance(err, twisted.python.failure.Failure):
         err = err.getTraceback()
       print('%s[%#x] %s' % (cl.desc, id(req), err.strip('\n').replace('\n',' / ')),