From e92df1dc76bdb38a871ffd4833da9332be6cb6da Mon Sep 17 00:00:00 2001
From: James Cammarata <jimi@sngx.net>
Date: Mon, 19 Aug 2013 09:59:47 -0500
Subject: [PATCH] Bail out correctly if socket.recv gets nothing (indicating a
 closed socket)

---
 utilities/fireball2 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/utilities/fireball2 b/utilities/fireball2
index e92d0817d8d..9d32e1ddd23 100644
--- a/utilities/fireball2
+++ b/utilities/fireball2
@@ -163,7 +163,10 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
         data_len = struct.unpack('Q',data[:header_len])[0]
         data = data[header_len:]
         while len(data) < data_len:
-            data += self.request.recv(1024)
+            d = self.request.recv(1024)
+            if not d:
+                return None
+            data += d
         return data
 
     def handle(self):