diff options
-rw-r--r-- | lib/unicorn/http_response.rb | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/unicorn/http_response.rb b/lib/unicorn/http_response.rb index b355ad4..6b6fa07 100644 --- a/lib/unicorn/http_response.rb +++ b/lib/unicorn/http_response.rb @@ -64,15 +64,12 @@ module Unicorn # write(2) can return short on slow devices like sockets as well # as fail with EINTR if a signal was caught. def self.socket_write(socket, buffer) - loop do - begin - written = socket.syswrite(buffer) - return written if written == buffer.length - buffer = buffer[written..-1] - rescue Errno::EINTR - retry - end - end + begin + written = socket.syswrite(buffer) + return written if written == buffer.length + buffer = buffer[written..-1] + rescue Errno::EINTR + end while true end end |