From c780e5374876e95fdb5a062fab872227f78e89f1 Mon Sep 17 00:00:00 2001 From: Masahiro Nakagawa Date: Mon, 25 Feb 2019 15:34:23 +0900 Subject: [PATCH] Add more errors to ignore list in UDP socket UDPServer overwrites Cool.io's IO#on_readable so it should handle unrecoverable IO error like TCPSocket. https://github.com/tarcieri/cool.io/blob/c79b4dff788071fcc45fac838d5d76dc645b8c1d/lib/cool.io/io.rb#L128 Signed-off-by: Masahiro Nakagawa --- lib/fluent/plugin_helper/server.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/fluent/plugin_helper/server.rb b/lib/fluent/plugin_helper/server.rb index dcc8e406fa..7c58e7a381 100644 --- a/lib/fluent/plugin_helper/server.rb +++ b/lib/fluent/plugin_helper/server.rb @@ -523,7 +523,7 @@ def initialize(sock, max_bytes, flags, close_socket, log, under_plugin_developme def on_readable_without_sock begin data = @sock.recv(@max_bytes, @flags) - rescue Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINTR, Errno::ECONNRESET + rescue Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINTR, Errno::ECONNRESET, IOError, Errno::EBADF return end @callback.call(data) @@ -536,7 +536,7 @@ def on_readable_without_sock def on_readable_with_sock begin data, addr = @sock.recvfrom(@max_bytes) - rescue Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINTR, Errno::ECONNRESET + rescue Errno::EAGAIN, Errno::EWOULDBLOCK, Errno::EINTR, Errno::ECONNRESET, IOError, Errno::EBADF return end @callback.call(data, UDPCallbackSocket.new(@sock, addr, close_socket: @close_socket))