Fix log streamer closing
For some reason, it can (rarely) happen that the socket used by the log
streamer is already closed when we are in server_close(). Since
our intent is to close it anyway, do not raise an exception on an
already closed socket.
Change-Id: I5828f6351341bac5e55ae2211e8a3b3f94032899
diff --git a/zuul/lib/log_streamer.py b/zuul/lib/log_streamer.py
index 8bb586f..6aa51a6 100644
--- a/zuul/lib/log_streamer.py
+++ b/zuul/lib/log_streamer.py
@@ -172,8 +172,14 @@
'''
Overridden from base class to shutdown the socket immediately.
'''
- self.socket.shutdown(socket.SHUT_RD)
- self.socket.close()
+ try:
+ self.socket.shutdown(socket.SHUT_RD)
+ self.socket.close()
+ except socket.error as e:
+ # If it's already closed, don't error.
+ if e.errno == socket.EBADF:
+ return
+ raise
class LogStreamer(object):