* [ANN] unicorn 6.1.0 - Rack HTTP server for fast clients and *nix
@ 2021-12-25 18:06 4% Eric Wong
0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2021-12-25 18:06 UTC (permalink / raw)
To: ruby-talk, unicorn-public
unicorn is an HTTP server for Rack applications designed to only serve
fast clients on low-latency, high-bandwidth connections and take
advantage of features in Unix/Unix-like kernels. Slow clients should
only be served by placing a reverse proxy capable of fully buffering
both the the request and response in between unicorn and slow clients.
Disclaimer:
Due to its ability to tolerate crashes and isolate clients, unicorn
is unfortunately known to prolong the existence of bugs in applications
and libraries which run on top of it.
Consider this just an announcement to inform existing users of a
new version, not something to convince you to switch to something
that set the entire Ruby world back decades in terms of concurrency.
Note:
.onion URLs below are available for Tor users and can reduce
our operating costs:
* https://yhbt.net/unicorn/
http://unicorn.7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/
* public list: unicorn-public@yhbt.net
* mail archives: https://yhbt.net/unicorn-public/
http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/unicorn-public/
* git clone https://yhbt.net/unicorn.git
torsocks git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/unicorn.git
* https://yhbt.net/unicorn/NEWS.atom.xml
http://unicorn.7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/NEWS.atom.xml
* nntps://news.public-inbox.org/inbox.comp.lang.ruby.unicorn
nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.lang.ruby.unicorn
imaps://yhbt.net/inbox.comp.lang.ruby.unicorn.0
imap://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.lang.ruby.unicorn.0
Changes:
This release reduces CPU usage for Linux 4.5+ in most cases.
See "[PATCH 6/6] use EPOLLEXCLUSIVE on Linux 4.5+" for more details:
https://yhbt.net/unicorn-public/20211001030923.26705-7-bofh@yhbt.net/
There's a couple of updates for Ruby 3.1, but we've finally
started relying on Ruby 2.0.0 features after 9 years :P
(so Ruby 1.9.3 users are stuck with older versions).
And the usual round of doc updates and some build speedups.
13 changes by the Bozo Doofus maintainer since v6.0.0:
test_util: less excessive encoding tests
drop Ruby 1.9.3 support, require 2.0+ for now
drop unnecessary IO#close_on_exec=true assignment
extconf.rb: get rid of unnecessary checks
makefile: reduce unnecessary rebuilds
HACKING: drop outdated information about pandoc
http_server: get rid of Process.ppid check
worker_loop: get rid of select() avoidance hack
use EPOLLEXCLUSIVE on Linux 4.5+
allow Ruby to deduplicate remaining globals
epollexclusive: remove rb_gc_force_recycle call
drop Ruby version warning, fix speling errer
doc: v3 .onion updates, nntp => nntps, minor wording changes
^ permalink raw reply [relevance 4%]
* [PATCH 2/2] drop unnecessary IO#close_on_exec=true assignment
2021-09-14 23:39 5% [PATCH 0/2] drop Ruby 1.9.3 support, require 2.0+ Eric Wong
@ 2021-09-14 23:39 7% ` Eric Wong
0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2021-09-14 23:39 UTC (permalink / raw)
To: unicorn-public
Ruby 2.0+ sets FD_CLOEXEC by default on all FDs.
---
lib/unicorn.rb | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index d5991fe..1a50631 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -114,8 +114,6 @@ def self.log_error(logger, prefix, exc)
def self.pipe # :nodoc:
Kgio::Pipe.new.each do |io|
- io.close_on_exec = true # remove this when we only support Ruby >= 2.0
-
# shrink pipes to minimize impact on /proc/sys/fs/pipe-user-pages-soft
# limits.
if defined?(F_SETPIPE_SZ)
^ permalink raw reply related [relevance 7%]
* [PATCH 0/2] drop Ruby 1.9.3 support, require 2.0+
@ 2021-09-14 23:39 5% Eric Wong
2021-09-14 23:39 7% ` [PATCH 2/2] drop unnecessary IO#close_on_exec=true assignment Eric Wong
0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2021-09-14 23:39 UTC (permalink / raw)
To: unicorn-public
Eventually, I'd like to move towards newer versions of Ruby
(e.g. 2.3+ has more *_nonblock stuff). For now, this is a small
step and hopefully won't cause problems for maintainers of
legacy systems...
Eric Wong (2):
drop Ruby 1.9.3 support, require 2.0+ for now
drop unnecessary IO#close_on_exec=true assignment
HACKING | 2 +-
README | 3 +--
Sandbox | 2 +-
ext/unicorn_http/extconf.rb | 4 ++--
ext/unicorn_http/unicorn_http.rl | 14 +-------------
lib/unicorn.rb | 2 --
lib/unicorn/http_server.rb | 2 +-
t/README | 2 +-
unicorn.gemspec | 4 ++--
9 files changed, 10 insertions(+), 25 deletions(-)
^ permalink raw reply [relevance 5%]
Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2021-09-14 23:39 5% [PATCH 0/2] drop Ruby 1.9.3 support, require 2.0+ Eric Wong
2021-09-14 23:39 7% ` [PATCH 2/2] drop unnecessary IO#close_on_exec=true assignment Eric Wong
2021-12-25 18:06 4% [ANN] unicorn 6.1.0 - Rack HTTP server for fast clients and *nix Eric Wong
Code repositories for project(s) associated with this public inbox
https://yhbt.net/unicorn.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).