Commit f4cdb474 authored by Neal Norwitz's avatar Neal Norwitz

amk pointed out that syslog may use UDP or TCP sockets.

Update to try UDP, if that fails, try TCP.
parent cc4c50c0
......@@ -349,7 +349,13 @@ class SysLogHandler(logging.Handler):
self.facility = facility
if type(address) == types.StringType:
self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
self.socket.connect(address)
# syslog may require either DGRAM or STREAM sockets
try:
self.socket.connect(address)
except socket.error:
self.socket.close()
self.socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
self.socket.connect(address)
self.unixsocket = 1
else:
self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment