Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:Update
rubygem-puma.17574
0004-Fix-cpu-usage.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0004-Fix-cpu-usage.patch of Package rubygem-puma.17574
From 8de43e46536d92448d590e5f4a270029ec6a1849 Mon Sep 17 00:00:00 2001 From: dmaiocchi <dmaiocchi@suse.com> Date: Tue, 8 Dec 2020 10:52:25 +0100 Subject: [PATCH] Fix ssl_v3_rejection test hanging and fic HIGH cpu usage --- lib/puma/minissl.rb | 4 ++-- lib/puma/server.rb | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/puma/minissl.rb b/lib/puma/minissl.rb index a65c1c64..e3e46de5 100644 --- a/lib/puma/minissl.rb +++ b/lib/puma/minissl.rb @@ -124,7 +124,7 @@ module Puma def read_and_drop(timeout = 1) return :timeout unless IO.select([@socket], nil, nil, timeout) - read_nonblock(1024) + return :eof unless read_nonblock(1024) :drop rescue Errno::EAGAIN # do nothing @@ -141,7 +141,7 @@ module Puma # Don't let this socket hold this loop forever. # If it can't send more packets within 1s, then give up. while should_drop_bytes? - return if read_and_drop(1) == :timeout + return if [:timeout, :eof].include?(read_and_drop(1)) end rescue IOError, SystemCallError Thread.current.purge_interrupt_queue if Thread.current.respond_to? :purge_interrupt_queue diff --git a/lib/puma/server.rb b/lib/puma/server.rb index fe5eb070..04536e5f 100644 --- a/lib/puma/server.rb +++ b/lib/puma/server.rb @@ -241,6 +241,11 @@ module Puma STDERR.puts "Exception handling servers: #{e.message} (#{e.class})" STDERR.puts e.backtrace ensure + begin + @check.close + rescue + Thread.current.purge_interrupt_queue if Thread.current.respond_to? :purge_interrupt_queue + end @check.close @notify.close -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor