diff --git a/lib/puma/server.rb b/lib/puma/server.rb index 1309eb8423..004294964f 100644 --- a/lib/puma/server.rb +++ b/lib/puma/server.rb @@ -356,7 +356,10 @@ def handle_servers pool << client end end - rescue Object => e + rescue IOError, Errno::EBADF + # In the case that any of the sockets are unexpectedly close. + raise + rescue StandardError => e @events.unknown_error e, nil, "Listen loop" end end