Fix recursive BrokenPipeException on disconnect
[mudpy.git] / lib / mudpy / misc.py
index ea18ffb..41d3ab6 100644 (file)
@@ -840,14 +840,14 @@ class User:
         if self.output_queue:
             try:
                 self.connection.send(self.output_queue[0])
-                del self.output_queue[0]
             except BrokenPipeError:
                 if self.account and self.account.get("name"):
                     account = self.account.get("name")
                 else:
                     account = "an unknown user"
-                log("Broken pipe sending to %s." % account, 7)
                 self.state = "disconnecting"
+                log("Broken pipe sending to %s." % account, 7)
+            del self.output_queue[0]
 
     def enqueue_input(self):
         """Process and enqueue any new input."""