unicorn 5.5.2 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.olddoc.yml +12 -7
- data/Documentation/unicorn.1 +4 -4
- data/Documentation/unicorn_rails.1 +4 -4
- data/FAQ +1 -1
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +104 -60
- data/HACKING +1 -1
- data/ISSUES +16 -13
- data/KNOWN_ISSUES +2 -2
- data/Links +5 -5
- data/README +13 -6
- data/SIGNALS +1 -1
- data/Sandbox +2 -2
- data/archive/slrnpull.conf +1 -1
- data/examples/big_app_gc.rb +1 -1
- data/examples/logrotate.conf +2 -2
- data/examples/nginx.conf +1 -1
- data/examples/unicorn.conf.minimal.rb +2 -2
- data/examples/unicorn.conf.rb +2 -2
- data/ext/unicorn_http/extconf.rb +5 -0
- data/ext/unicorn_http/unicorn_http.rl +43 -5
- data/lib/unicorn.rb +1 -1
- data/lib/unicorn/configurator.rb +13 -3
- data/lib/unicorn/http_request.rb +11 -0
- data/lib/unicorn/http_server.rb +32 -4
- data/lib/unicorn/oob_gc.rb +2 -2
- data/t/GNUmakefile +3 -72
- data/test/exec/test_exec.rb +9 -7
- data/test/test_helper.rb +22 -30
- data/test/unit/test_http_parser_ng.rb +81 -0
- data/test/unit/test_server.rb +30 -0
- data/test/unit/test_upload.rb +4 -9
- data/unicorn.gemspec +8 -7
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c8762bfa015cb5a12f8303fe2a4cd1301fd6e518957939de7f8891fcbae46e5
|
4
|
+
data.tar.gz: bd8f3c666a29d11637e27791b51e7c6f37c4ab2062ac54a90f8865409422ec17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27dca95b35706b39320545819c99cc3e1834efa9790b9b3875a720301ec962327bf0b5bd2fdda6aea5b0318c39d568d3086d52683804ab9297905a8aa61a8b7a
|
7
|
+
data.tar.gz: 2d7dac7bae31ba658bd9358932b3d254885b0bbefca229b5004b3da48ce2acc5a06240b44d7c4e58fe59b0c511374bf6b9c93de0a703c2ef7af5b45894edf830
|
data/.olddoc.yml
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
---
|
2
|
-
cgit_url: https://
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
cgit_url: https://yhbt.net/unicorn.git
|
3
|
+
rdoc_url: https://yhbt.net/unicorn/
|
4
|
+
ml_url:
|
5
|
+
- https://yhbt.net/unicorn-public/
|
6
|
+
- http://ou63pmih66umazou.onion/unicorn-public/
|
6
7
|
merge_html:
|
7
8
|
unicorn_1: Documentation/unicorn.1.html
|
8
9
|
unicorn_rails_1: Documentation/unicorn_rails.1.html
|
@@ -11,7 +12,11 @@ noindex:
|
|
11
12
|
- LATEST
|
12
13
|
- TODO
|
13
14
|
- unicorn_rails_1
|
14
|
-
public_email: unicorn-public@
|
15
|
+
public_email: unicorn-public@yhbt.net
|
15
16
|
nntp_url:
|
16
|
-
|
17
|
-
|
17
|
+
- nntp://news.public-inbox.org/inbox.comp.lang.ruby.unicorn
|
18
|
+
- nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.unicorn
|
19
|
+
- nntp://news.gmane.io/gmane.comp.lang.ruby.unicorn.general
|
20
|
+
source_code:
|
21
|
+
- git clone https://yhbt.net/unicorn.git
|
22
|
+
- torsocks git clone http://ou63pmih66umazou.onion/unicorn.git
|
data/Documentation/unicorn.1
CHANGED
@@ -154,7 +154,7 @@ TTIN \- increment the number of worker processes by one
|
|
154
154
|
.IP \[bu] 2
|
155
155
|
TTOU \- decrement the number of worker processes by one
|
156
156
|
.PP
|
157
|
-
See the SIGNALS (https://
|
157
|
+
See the SIGNALS (https://yhbt.net/unicorn/SIGNALS.html) document for
|
158
158
|
full description of all signals used by Unicorn.
|
159
159
|
.SH RACK ENVIRONMENT
|
160
160
|
.PP
|
@@ -204,11 +204,11 @@ the unicorn config file.
|
|
204
204
|
\f[I]Rack::Builder\f[] ri/RDoc
|
205
205
|
.IP \[bu] 2
|
206
206
|
\f[I]Unicorn::Configurator\f[] ri/RDoc
|
207
|
-
.UR https://
|
207
|
+
.UR https://yhbt.net/unicorn/Unicorn/Configurator.html
|
208
208
|
.UE
|
209
209
|
.IP \[bu] 2
|
210
210
|
unicorn RDoc
|
211
|
-
.UR https://
|
211
|
+
.UR https://yhbt.net/unicorn/
|
212
212
|
.UE
|
213
213
|
.IP \[bu] 2
|
214
214
|
Rack RDoc
|
@@ -219,4 +219,4 @@ Rackup HowTo
|
|
219
219
|
.UR https://github.com/rack/rack/wiki/(tutorial)-rackup-howto
|
220
220
|
.UE
|
221
221
|
.SH AUTHORS
|
222
|
-
The Unicorn Community <unicorn-public@
|
222
|
+
The Unicorn Community <unicorn-public@yhbt.net>.
|
@@ -180,7 +180,7 @@ TTIN \- increment the number of worker processes by one
|
|
180
180
|
.IP \[bu] 2
|
181
181
|
TTOU \- decrement the number of worker processes by one
|
182
182
|
.PP
|
183
|
-
See the SIGNALS (https://
|
183
|
+
See the SIGNALS (https://yhbt.net/unicorn/SIGNALS.html) document for
|
184
184
|
full description of all signals used by Unicorn.
|
185
185
|
.SH SEE ALSO
|
186
186
|
.IP \[bu] 2
|
@@ -189,11 +189,11 @@ unicorn(1)
|
|
189
189
|
\f[I]Rack::Builder\f[] ri/RDoc
|
190
190
|
.IP \[bu] 2
|
191
191
|
\f[I]Unicorn::Configurator\f[] ri/RDoc
|
192
|
-
.UR https://
|
192
|
+
.UR https://yhbt.net/unicorn/Unicorn/Configurator.html
|
193
193
|
.UE
|
194
194
|
.IP \[bu] 2
|
195
195
|
unicorn RDoc
|
196
|
-
.UR https://
|
196
|
+
.UR https://yhbt.net/unicorn/
|
197
197
|
.UE
|
198
198
|
.IP \[bu] 2
|
199
199
|
Rack RDoc
|
@@ -204,4 +204,4 @@ Rackup HowTo
|
|
204
204
|
.UR https://github.com/rack/rack/wiki/(tutorial)-rackup-howto
|
205
205
|
.UE
|
206
206
|
.SH AUTHORS
|
207
|
-
The Unicorn Community <unicorn-public@
|
207
|
+
The Unicorn Community <unicorn-public@yhbt.net>.
|
data/FAQ
CHANGED
@@ -7,7 +7,7 @@ drained entirely by the application. This may happen when request
|
|
7
7
|
bodies are gzipped, as unicorn reads request body data lazily to avoid
|
8
8
|
overhead from bad requests.
|
9
9
|
|
10
|
-
Ref: https://
|
10
|
+
Ref: https://yhbt.net/unicorn-public/FC91211E-FD32-432C-92FC-0318714C2170@zendesk.com/
|
11
11
|
|
12
12
|
=== Why aren't my Rails log files rotated when I use SIGUSR1?
|
13
13
|
|
data/GIT-VERSION-GEN
CHANGED
data/GNUmakefile
CHANGED
@@ -10,6 +10,7 @@ RAGEL = ragel
|
|
10
10
|
RSYNC = rsync
|
11
11
|
OLDDOC = olddoc
|
12
12
|
RDOC = rdoc
|
13
|
+
INSTALL = install
|
13
14
|
|
14
15
|
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
|
15
16
|
@./GIT-VERSION-GEN
|
@@ -25,7 +26,38 @@ endif
|
|
25
26
|
|
26
27
|
RUBY_ENGINE := $(shell $(RUBY) -e 'puts((RUBY_ENGINE rescue "ruby"))')
|
27
28
|
|
28
|
-
|
29
|
+
# we should never package more than one ext to avoid DSO proliferation:
|
30
|
+
# https://udrepper.livejournal.com/8790.html
|
31
|
+
ext := $(firstword $(wildcard ext/*))
|
32
|
+
|
33
|
+
ragel: $(ext)/unicorn_http.c
|
34
|
+
|
35
|
+
rl_files := $(wildcard $(ext)/*.rl)
|
36
|
+
ragel: $(ext)/unicorn_http.c
|
37
|
+
$(ext)/unicorn_http.c: $(rl_files)
|
38
|
+
cd $(@D) && $(RAGEL) unicorn_http.rl -C $(RLFLAGS) -o $(@F)
|
39
|
+
ext_pfx := test/$(RUBY_ENGINE)-$(RUBY_VERSION)
|
40
|
+
tmp_bin := $(ext_pfx)/bin
|
41
|
+
ext_h := $(wildcard $(ext)/*/*.h $(ext)/*.h)
|
42
|
+
ext_src := $(sort $(wildcard $(ext)/*.c) $(ext_h) $(ext)/unicorn_http.c)
|
43
|
+
ext_pfx_src := $(addprefix $(ext_pfx)/,$(ext_src))
|
44
|
+
ext_dir := $(ext_pfx)/$(ext)
|
45
|
+
$(ext)/extconf.rb: $(wildcard $(ext)/*.h)
|
46
|
+
@>>$@
|
47
|
+
$(ext_dir) $(tmp_bin) man/man1 doc/man1 pkg t/trash:
|
48
|
+
@mkdir -p $@
|
49
|
+
$(ext_pfx)/$(ext)/%: $(ext)/% | $(ext_dir)
|
50
|
+
$(INSTALL) -m 644 $< $@
|
51
|
+
$(ext_pfx)/$(ext)/Makefile: $(ext)/extconf.rb $(ext_h) | $(ext_dir)
|
52
|
+
$(RM) -f $(@D)/*.o
|
53
|
+
cd $(@D) && $(RUBY) $(CURDIR)/$(ext)/extconf.rb $(EXTCONF_ARGS)
|
54
|
+
ext_sfx := _ext.$(DLEXT)
|
55
|
+
ext_dl := $(ext_pfx)/$(ext)/$(notdir $(ext)_ext.$(DLEXT))
|
56
|
+
$(ext_dl): $(ext_src) $(ext_pfx_src) $(ext_pfx)/$(ext)/Makefile
|
57
|
+
$(MAKE) -C $(@D)
|
58
|
+
lib := $(CURDIR)/lib:$(CURDIR)/$(ext_pfx)/$(ext)
|
59
|
+
http build: $(ext_dl)
|
60
|
+
$(ext_pfx)/$(ext)/unicorn_http.c: ext/unicorn_http/unicorn_http.c
|
29
61
|
|
30
62
|
# dunno how to implement this as concisely in Ruby, and hell, I love awk
|
31
63
|
awk_slow := awk '/def test_/{print FILENAME"--"$$2".n"}' 2>/dev/null
|
@@ -37,44 +69,21 @@ T := $(filter-out $(slow_tests), $(wildcard test/*/test*.rb))
|
|
37
69
|
T_n := $(shell $(awk_slow) $(slow_tests))
|
38
70
|
T_log := $(subst .rb,$(log_suffix),$(T))
|
39
71
|
T_n_log := $(subst .n,$(log_suffix),$(T_n))
|
40
|
-
test_prefix = $(CURDIR)/test/$(RUBY_ENGINE)-$(RUBY_VERSION)
|
41
72
|
|
42
|
-
ext := ext/unicorn_http
|
43
|
-
c_files := $(ext)/unicorn_http.c $(ext)/httpdate.c $(wildcard $(ext)/*.h)
|
44
|
-
rl_files := $(wildcard $(ext)/*.rl)
|
45
73
|
base_bins := unicorn unicorn_rails
|
46
74
|
bins := $(addprefix bin/, $(base_bins))
|
47
75
|
man1_rdoc := $(addsuffix _1, $(base_bins))
|
48
76
|
man1_bins := $(addsuffix .1, $(base_bins))
|
49
77
|
man1_paths := $(addprefix man/man1/, $(man1_bins))
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
ragel: $(ext)/unicorn_http.c
|
54
|
-
$(ext)/unicorn_http.c: $(rl_files)
|
55
|
-
cd $(@D) && $(RAGEL) unicorn_http.rl -C $(RLFLAGS) -o $(@F)
|
56
|
-
$(ext)/Makefile: $(ext)/extconf.rb $(c_files)
|
57
|
-
cd $(@D) && $(RUBY) extconf.rb
|
58
|
-
$(ext)/unicorn_http.$(DLEXT): $(ext)/Makefile
|
59
|
-
$(MAKE) -C $(@D)
|
60
|
-
http: $(ext)/unicorn_http.$(DLEXT)
|
78
|
+
tmp_bins = $(addprefix $(tmp_bin)/, unicorn unicorn_rails)
|
79
|
+
pid := $(shell echo $$PPID)
|
61
80
|
|
62
|
-
|
63
|
-
|
64
|
-
|
81
|
+
$(tmp_bin)/%: bin/% | $(tmp_bin)
|
82
|
+
$(INSTALL) -m 755 $< $@.$(pid)
|
83
|
+
$(MRI) -i -p -e '$$_.gsub!(%r{^#!.*$$},"#!$(ruby_bin)")' $@.$(pid)
|
84
|
+
mv $@.$(pid) $@
|
65
85
|
|
66
|
-
|
67
|
-
$(test_prefix)/.stamp: $(inst_deps)
|
68
|
-
mkdir -p $(test_prefix)/.ccache
|
69
|
-
tar cf - $(inst_deps) GIT-VERSION-GEN | \
|
70
|
-
(cd $(test_prefix) && tar xf -)
|
71
|
-
$(MAKE) -C $(test_prefix) clean
|
72
|
-
$(MAKE) -C $(test_prefix) http-install shebang RUBY="$(RUBY)"
|
73
|
-
> $@
|
74
|
-
|
75
|
-
# this is only intended to be run within $(test_prefix)
|
76
|
-
shebang: $(bins)
|
77
|
-
$(MRI) -i -p -e '$$_.gsub!(%r{^#!.*$$},"#!$(ruby_bin)")' $^
|
86
|
+
bins: $(tmp_bins)
|
78
87
|
|
79
88
|
t_log := $(T_log) $(T_n_log)
|
80
89
|
test: $(T) $(T_n)
|
@@ -83,15 +92,54 @@ test: $(T) $(T_n)
|
|
83
92
|
|
84
93
|
test-exec: $(wildcard test/exec/test_*.rb)
|
85
94
|
test-unit: $(wildcard test/unit/test_*.rb)
|
86
|
-
$(slow_tests): $(
|
95
|
+
$(slow_tests): $(ext_dl)
|
87
96
|
@$(MAKE) $(shell $(awk_slow) $@)
|
88
97
|
|
89
98
|
# ensure we can require just the HTTP parser without the rest of unicorn
|
90
|
-
test-require: $(
|
91
|
-
$(RUBY) --disable-gems -I$(ext) -runicorn_http -e Unicorn
|
99
|
+
test-require: $(ext_dl)
|
100
|
+
$(RUBY) --disable-gems -I$(ext_pfx)/$(ext) -runicorn_http -e Unicorn
|
101
|
+
|
102
|
+
test_prereq := $(tmp_bins) $(ext_dl)
|
103
|
+
|
104
|
+
SH_TEST_OPTS =
|
105
|
+
ifdef V
|
106
|
+
ifeq ($(V),2)
|
107
|
+
SH_TEST_OPTS += --trace
|
108
|
+
else
|
109
|
+
SH_TEST_OPTS += --verbose
|
110
|
+
endif
|
111
|
+
endif
|
92
112
|
|
93
|
-
|
94
|
-
|
113
|
+
# do we trust Ruby behavior to be stable? some tests are
|
114
|
+
# (mostly) POSIX sh (not bash or ksh93, so no "set -o pipefail"
|
115
|
+
# TRACER = strace -f -o $(t_pfx).strace -s 100000
|
116
|
+
# TRACER = /usr/bin/time -o $(t_pfx).time
|
117
|
+
t_pfx = trash/$@-$(RUBY_ENGINE)-$(RUBY_VERSION)
|
118
|
+
T_sh = $(wildcard t/t[0-9][0-9][0-9][0-9]-*.sh)
|
119
|
+
$(T_sh): export RUBY := $(RUBY)
|
120
|
+
$(T_sh): export PATH := $(CURDIR)/$(tmp_bin):$(PATH)
|
121
|
+
$(T_sh): export RUBYLIB := $(lib):$(RUBYLIB)
|
122
|
+
$(T_sh): dep $(test_prereq) t/random_blob t/trash/.gitignore
|
123
|
+
cd t && $(TRACER) $(SHELL) $(SH_TEST_OPTS) $(@F) $(TEST_OPTS)
|
124
|
+
|
125
|
+
t/trash/.gitignore : | t/trash
|
126
|
+
echo '*' >$@
|
127
|
+
|
128
|
+
dependencies := socat curl
|
129
|
+
deps := $(addprefix t/.dep+,$(dependencies))
|
130
|
+
$(deps): dep_bin = $(lastword $(subst +, ,$@))
|
131
|
+
$(deps):
|
132
|
+
@which $(dep_bin) > $@.$(pid) 2>/dev/null || :
|
133
|
+
@test -s $@.$(pid) || \
|
134
|
+
{ echo >&2 "E '$(dep_bin)' not found in PATH=$(PATH)"; exit 1; }
|
135
|
+
@mv $@.$(pid) $@
|
136
|
+
dep: $(deps)
|
137
|
+
|
138
|
+
t/random_blob:
|
139
|
+
dd if=/dev/urandom bs=1M count=30 of=$@.$(pid)
|
140
|
+
mv $@.$(pid) $@
|
141
|
+
|
142
|
+
test-integration: $(T_sh)
|
95
143
|
|
96
144
|
check: test-require test test-integration
|
97
145
|
test-all: check
|
@@ -122,16 +170,16 @@ run_test = $(quiet_pre) \
|
|
122
170
|
|
123
171
|
%.n: arg = $(subst .n,,$(subst --, -n ,$@))
|
124
172
|
%.n: t = $(subst .n,$(log_suffix),$@)
|
125
|
-
%.n: export PATH := $(
|
126
|
-
%.n: export RUBYLIB := $(
|
127
|
-
%.n: $(
|
173
|
+
%.n: export PATH := $(CURDIR)/$(tmp_bin):$(PATH)
|
174
|
+
%.n: export RUBYLIB := $(lib):$(RUBYLIB)
|
175
|
+
%.n: $(test_prereq)
|
128
176
|
$(run_test)
|
129
177
|
|
130
178
|
$(T): arg = $@
|
131
179
|
$(T): t = $(subst .rb,$(log_suffix),$@)
|
132
|
-
$(T): export PATH := $(
|
133
|
-
$(T): export RUBYLIB := $(
|
134
|
-
$(T): $(
|
180
|
+
$(T): export PATH := $(CURDIR)/$(tmp_bin):$(PATH)
|
181
|
+
$(T): export RUBYLIB := $(lib):$(RUBYLIB)
|
182
|
+
$(T): $(test_prereq)
|
135
183
|
$(run_test)
|
136
184
|
|
137
185
|
install: $(bins) $(ext)/unicorn_http.c
|
@@ -152,18 +200,16 @@ clean:
|
|
152
200
|
-$(MAKE) -C $(ext) clean
|
153
201
|
$(RM) $(ext)/Makefile
|
154
202
|
$(RM) $(setup_rb_files) $(t_log)
|
155
|
-
$(RM) -r $(
|
156
|
-
$(RM) $(
|
203
|
+
$(RM) -r $(ext_pfx) man t/trash
|
204
|
+
$(RM) $(html1)
|
157
205
|
|
158
206
|
man1 := $(addprefix Documentation/, unicorn.1 unicorn_rails.1)
|
159
207
|
html1 := $(addsuffix .html, $(man1))
|
160
|
-
man :
|
161
|
-
|
162
|
-
install -m 644 $(man1) man/man1
|
208
|
+
man : $(man1) | man/man1
|
209
|
+
$(INSTALL) -m 644 $(man1) man/man1
|
163
210
|
|
164
|
-
html : $(html1)
|
165
|
-
|
166
|
-
install -m 644 $(html1) doc/man1
|
211
|
+
html : $(html1) | doc/man1
|
212
|
+
$(INSTALL) -m 644 $(html1) doc/man1
|
167
213
|
|
168
214
|
%.1.html: %.1
|
169
215
|
$(OLDDOC) man2html -o $@ ./$<
|
@@ -187,19 +233,19 @@ doc: .document $(ext)/unicorn_http.c man html .olddoc.yml $(PLACEHOLDERS)
|
|
187
233
|
$(OLDDOC) prepare
|
188
234
|
$(RDOC) -f dark216
|
189
235
|
$(OLDDOC) merge
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
236
|
+
$(INSTALL) -m 644 COPYING doc/COPYING
|
237
|
+
$(INSTALL) -m 644 NEWS.atom.xml doc/NEWS.atom.xml
|
238
|
+
$(INSTALL) -m 644 $(shell LC_ALL=C grep '^[A-Z]' .document) doc/
|
239
|
+
$(INSTALL) -m 644 $(man1_paths) doc/
|
194
240
|
tar cf - $$(git ls-files examples/) | (cd doc && tar xf -)
|
195
241
|
|
196
|
-
# publishes docs to https://
|
242
|
+
# publishes docs to https://yhbt.net/unicorn/
|
197
243
|
publish_doc:
|
198
244
|
-git set-file-times
|
199
245
|
$(MAKE) doc
|
200
246
|
$(MAKE) doc_gz
|
201
247
|
chmod 644 $$(find doc -type f)
|
202
|
-
$(RSYNC) -av doc/
|
248
|
+
$(RSYNC) -av doc/ yhbt.net:/srv/yhbt/unicorn/
|
203
249
|
git ls-files | xargs touch
|
204
250
|
|
205
251
|
# Create gzip variants of the same timestamp as the original so nginx
|
@@ -231,9 +277,8 @@ gem: $(pkggem)
|
|
231
277
|
install-gem: $(pkggem)
|
232
278
|
gem install --local $(CURDIR)/$<
|
233
279
|
|
234
|
-
$(pkggem): .manifest fix-perms
|
280
|
+
$(pkggem): .manifest fix-perms | pkg
|
235
281
|
gem build $(rfpackage).gemspec
|
236
|
-
mkdir -p pkg
|
237
282
|
mv $(@F) $@
|
238
283
|
|
239
284
|
$(pkgtgz): distdir = $(basename $@)
|
@@ -264,5 +309,4 @@ check-warnings:
|
|
264
309
|
do $(RUBY) --disable-gems -d -W2 -c \
|
265
310
|
$$i; done) | grep -v '^Syntax OK$$' || :
|
266
311
|
|
267
|
-
.PHONY: .FORCE-GIT-VERSION-FILE doc $(T) $(slow_tests) man
|
268
|
-
.PHONY: test-install
|
312
|
+
.PHONY: .FORCE-GIT-VERSION-FILE doc $(T) $(slow_tests) man $(T_sh) clean
|
data/HACKING
CHANGED
@@ -57,7 +57,7 @@ Please wrap documentation at 72 characters-per-line or less (long URLs
|
|
57
57
|
are exempt) so it is comfortably readable from terminals.
|
58
58
|
|
59
59
|
When referencing mailing list posts, use
|
60
|
-
<tt>https://
|
60
|
+
<tt>https://yhbt.net/unicorn-public/$MESSAGE_ID/</tt> if possible
|
61
61
|
since the Message-ID remains searchable even if a particular site
|
62
62
|
becomes unavailable.
|
63
63
|
|
data/ISSUES
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
= Issues
|
2
2
|
|
3
|
-
mailto:unicorn-public@
|
3
|
+
mailto:unicorn-public@yhbt.net is the best place to report bugs,
|
4
4
|
submit patches and/or obtain support after you have searched the
|
5
|
-
{email archives}[https://
|
6
|
-
{documentation}[https://
|
5
|
+
{email archives}[https://yhbt.net/unicorn-public/] and
|
6
|
+
{documentation}[https://yhbt.net/unicorn/].
|
7
7
|
|
8
8
|
* No subscription will ever be required to email us
|
9
9
|
* Cc: all participants in a thread or commit, as subscription is optional
|
@@ -12,12 +12,12 @@ submit patches and/or obtain support after you have searched the
|
|
12
12
|
* Do not send HTML mail or images,
|
13
13
|
they hurt reader privacy and will be flagged as spam
|
14
14
|
* Anonymous and pseudonymous messages will ALWAYS be welcome
|
15
|
-
* The email submission port (587) is enabled on the
|
16
|
-
https://
|
15
|
+
* The email submission port (587) is enabled on the yhbt.net MX:
|
16
|
+
https://yhbt.net/unicorn-public/20141004232241.GA23908@dcvr.yhbt.net/t/
|
17
17
|
|
18
18
|
We will never have a centralized or formal bug tracker. Instead we
|
19
19
|
can interoperate with any bug tracker which can Cc: us plain-text to
|
20
|
-
mailto:unicorn-public@
|
20
|
+
mailto:unicorn-public@yhbt.net This includes the Debian BTS
|
21
21
|
at https://bugs.debian.org/unicorn and possibly others.
|
22
22
|
|
23
23
|
If your issue is of a sensitive nature or you're just shy in public,
|
@@ -73,24 +73,27 @@ document distributed with git) on guidelines for patch submission.
|
|
73
73
|
|
74
74
|
== Contact Info
|
75
75
|
|
76
|
-
* public: mailto:unicorn-public@
|
77
|
-
* nntp://news.gmane.
|
76
|
+
* public: mailto:unicorn-public@yhbt.net
|
77
|
+
* nntp://news.gmane.io/gmane.comp.lang.ruby.unicorn.general
|
78
78
|
* nntp://news.public-inbox.org/inbox.comp.lang.ruby.unicorn
|
79
|
-
*
|
79
|
+
* imaps://news.public-inbox.org/inbox.comp.lang.ruby.unicorn.0
|
80
|
+
* https://yhbt.net/unicorn-public/
|
80
81
|
* http://ou63pmih66umazou.onion/unicorn-public/
|
81
82
|
|
82
83
|
Mailing list subscription is optional, so Cc: all participants.
|
83
84
|
|
84
|
-
You can follow along via NNTP (read-only):
|
85
|
+
You can follow along via NNTP or IMAP (read-only):
|
85
86
|
|
86
87
|
nntp://news.public-inbox.org/inbox.comp.lang.ruby.unicorn
|
87
|
-
nntp://news.gmane.
|
88
|
+
nntp://news.gmane.io/gmane.comp.lang.ruby.unicorn.general
|
89
|
+
imaps://news.public-inbox.org/inbox.comp.lang.ruby.unicorn.0
|
90
|
+
imap://ou63pmih66umazou.onion/inbox.comp.lang.ruby.unicorn.0
|
88
91
|
|
89
92
|
Or Atom feeds:
|
90
93
|
|
91
|
-
https://
|
94
|
+
https://yhbt.net/unicorn-public/new.atom
|
92
95
|
http://ou63pmih66umazou.onion/unicorn-public/new.atom
|
93
96
|
|
94
|
-
The HTML archives at https://
|
97
|
+
The HTML archives at https://yhbt.net/unicorn-public/
|
95
98
|
also has links to per-thread Atom feeds and downloadable
|
96
99
|
mboxes.
|
data/KNOWN_ISSUES
CHANGED
@@ -9,7 +9,7 @@ acceptable solution. Those issues are documented here.
|
|
9
9
|
handlers.
|
10
10
|
|
11
11
|
* Issues with FreeBSD jails can be worked around as documented by Tatsuya Ono:
|
12
|
-
https://
|
12
|
+
https://yhbt.net/unicorn-public/CAHBuKRj09FdxAgzsefJWotexw-7JYZGJMtgUp_dhjPz9VbKD6Q@mail.gmail.com/
|
13
13
|
|
14
14
|
* PRNGs (pseudo-random number generators) loaded before forking
|
15
15
|
(e.g. "preload_app true") may need to have their internal state
|
@@ -60,7 +60,7 @@ acceptable solution. Those issues are documented here.
|
|
60
60
|
application to use Rails 2.3.2 and you have no other choice, then
|
61
61
|
you may edit your unicorn gemspec and remove the Rack dependency.
|
62
62
|
|
63
|
-
ref: https://
|
63
|
+
ref: https://yhbt.net/unicorn-public/20091014221552.GA30624@dcvr.yhbt.net/
|
64
64
|
Note: the workaround described in the article above only made
|
65
65
|
the issue more subtle and we didn't notice them immediately.
|
66
66
|
|