rainbows 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +1 -0
- data/.gitignore +1 -0
- data/.manifest +46 -18
- data/.wrongdoc.yml +8 -0
- data/ChangeLog +849 -374
- data/Documentation/comparison.haml +26 -21
- data/FAQ +6 -0
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +23 -65
- data/LATEST +27 -0
- data/NEWS +53 -26
- data/README +7 -7
- data/Rakefile +1 -98
- data/Summary +0 -7
- data/TODO +2 -2
- data/lib/rainbows/app_pool.rb +2 -1
- data/lib/rainbows/base.rb +1 -0
- data/lib/rainbows/configurator.rb +9 -0
- data/lib/rainbows/const.rb +1 -1
- data/lib/rainbows/coolio/client.rb +191 -0
- data/lib/rainbows/coolio/core.rb +25 -0
- data/lib/rainbows/{rev → coolio}/deferred_chunk_response.rb +3 -2
- data/lib/rainbows/{rev → coolio}/deferred_response.rb +3 -3
- data/lib/rainbows/coolio/heartbeat.rb +20 -0
- data/lib/rainbows/{rev → coolio}/master.rb +2 -3
- data/lib/rainbows/{rev → coolio}/sendfile.rb +1 -1
- data/lib/rainbows/coolio/server.rb +11 -0
- data/lib/rainbows/coolio/thread_client.rb +36 -0
- data/lib/rainbows/coolio.rb +45 -0
- data/lib/rainbows/coolio_fiber_spawn.rb +26 -0
- data/lib/rainbows/coolio_support.rb +9 -0
- data/lib/rainbows/coolio_thread_pool/client.rb +8 -0
- data/lib/rainbows/coolio_thread_pool/watcher.rb +14 -0
- data/lib/rainbows/coolio_thread_pool.rb +57 -0
- data/lib/rainbows/coolio_thread_spawn/client.rb +8 -0
- data/lib/rainbows/coolio_thread_spawn.rb +27 -0
- data/lib/rainbows/dev_fd_response.rb +6 -2
- data/lib/rainbows/ev_core/cap_input.rb +3 -2
- data/lib/rainbows/ev_core.rb +13 -3
- data/lib/rainbows/event_machine/client.rb +124 -0
- data/lib/rainbows/event_machine/response_pipe.rb +1 -2
- data/lib/rainbows/event_machine/server.rb +15 -0
- data/lib/rainbows/event_machine.rb +13 -137
- data/lib/rainbows/fiber/base.rb +6 -7
- data/lib/rainbows/fiber/body.rb +4 -2
- data/lib/rainbows/fiber/coolio/heartbeat.rb +15 -0
- data/lib/rainbows/fiber/{rev → coolio}/methods.rb +4 -5
- data/lib/rainbows/fiber/{rev → coolio}/server.rb +1 -1
- data/lib/rainbows/fiber/{rev → coolio}/sleeper.rb +2 -2
- data/lib/rainbows/fiber/coolio.rb +12 -0
- data/lib/rainbows/fiber/io/methods.rb +6 -0
- data/lib/rainbows/fiber/io.rb +8 -10
- data/lib/rainbows/fiber/queue.rb +24 -30
- data/lib/rainbows/fiber.rb +7 -4
- data/lib/rainbows/fiber_pool.rb +1 -1
- data/lib/rainbows/http_server.rb +9 -2
- data/lib/rainbows/max_body.rb +3 -1
- data/lib/rainbows/never_block/core.rb +15 -0
- data/lib/rainbows/never_block/event_machine.rb +8 -3
- data/lib/rainbows/never_block.rb +37 -70
- data/lib/rainbows/process_client.rb +3 -6
- data/lib/rainbows/rack_input.rb +17 -0
- data/lib/rainbows/response/body.rb +18 -19
- data/lib/rainbows/response.rb +1 -1
- data/lib/rainbows/rev.rb +21 -43
- data/lib/rainbows/rev_fiber_spawn.rb +4 -19
- data/lib/rainbows/rev_thread_pool.rb +21 -75
- data/lib/rainbows/rev_thread_spawn.rb +18 -36
- data/lib/rainbows/revactor/body.rb +4 -1
- data/lib/rainbows/revactor/tee_socket.rb +44 -0
- data/lib/rainbows/revactor.rb +13 -48
- data/lib/rainbows/socket_proxy.rb +24 -0
- data/lib/rainbows/sync_close.rb +37 -0
- data/lib/rainbows/thread_pool.rb +66 -70
- data/lib/rainbows/thread_spawn.rb +40 -50
- data/lib/rainbows/thread_timeout.rb +33 -27
- data/lib/rainbows/timed_read.rb +5 -1
- data/lib/rainbows/worker_yield.rb +16 -0
- data/lib/rainbows/writer_thread_pool/client.rb +19 -0
- data/lib/rainbows/writer_thread_pool.rb +60 -91
- data/lib/rainbows/writer_thread_spawn/client.rb +69 -0
- data/lib/rainbows/writer_thread_spawn.rb +37 -117
- data/lib/rainbows.rb +12 -4
- data/rainbows.gemspec +15 -19
- data/t/GNUmakefile +4 -4
- data/t/close-has-env.ru +65 -0
- data/t/simple-http_Coolio.ru +9 -0
- data/t/simple-http_CoolioFiberSpawn.ru +10 -0
- data/t/simple-http_CoolioThreadPool.ru +9 -0
- data/t/simple-http_CoolioThreadSpawn.ru +9 -0
- data/t/t0004-heartbeat-timeout.sh +2 -2
- data/t/t0007-worker-follows-master-to-death.sh +1 -1
- data/t/t0015-working_directory.sh +7 -1
- data/t/t0017-keepalive-timeout-zero.sh +1 -1
- data/t/t0019-keepalive-cpu-usage.sh +62 -0
- data/t/t0040-keepalive_requests-setting.sh +51 -0
- data/t/t0050-response-body-close-has-env.sh +109 -0
- data/t/t0102-rack-input-short.sh +6 -6
- data/t/t0106-rack-input-keepalive.sh +48 -2
- data/t/t0113-rewindable-input-false.sh +28 -0
- data/t/t0113.ru +12 -0
- data/t/t0114-rewindable-input-true.sh +28 -0
- data/t/t0114.ru +12 -0
- data/t/t9100-thread-timeout.sh +24 -2
- data/t/t9101-thread-timeout-threshold.sh +6 -13
- data/t/test-lib.sh +2 -1
- data/t/test_isolate.rb +9 -4
- data/t/times.ru +6 -0
- metadata +109 -42
- data/GIT-VERSION-FILE +0 -1
- data/lib/rainbows/fiber/rev/heartbeat.rb +0 -8
- data/lib/rainbows/fiber/rev/kato.rb +0 -22
- data/lib/rainbows/fiber/rev.rb +0 -13
- data/lib/rainbows/rev/client.rb +0 -194
- data/lib/rainbows/rev/core.rb +0 -41
- data/lib/rainbows/rev/heartbeat.rb +0 -23
- data/lib/rainbows/rev/thread.rb +0 -46
- data/man/man1/rainbows.1 +0 -193
data/ChangeLog
CHANGED
@@ -1,375 +1,850 @@
|
|
1
|
-
ChangeLog from
|
1
|
+
ChangeLog from http://git.bogomips.org/cgit/rainbows.git (v0.97.0..v2.1.0)
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
3
|
+
commit 22370570a203ad584cc882abb26feb880a0ed4f2
|
4
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
5
|
+
Date: Wed Dec 29 02:13:04 2010 +0000
|
6
|
+
|
7
|
+
Rainbows! 2.1.0 - Cool.io, bugfixes and more!
|
8
|
+
|
9
|
+
Cool.io (new version of Rev) support is explicitly added
|
10
|
+
(it always worked before). ":Coolio" may be used in place
|
11
|
+
of ":Rev" anywhere in your Rainbows! config file.
|
12
|
+
|
13
|
+
There is a new "keepalive_requests" config directive to limit
|
14
|
+
the number of requests a single connection may make (default:
|
15
|
+
100, same as nginx). This may be useful for better
|
16
|
+
load-balancing characteristics.
|
17
|
+
|
18
|
+
The old "Rev" prefixes remain supported as long as Cool.io
|
19
|
+
remains compatible with Rev (likely forever).
|
20
|
+
|
21
|
+
Bug fixes:
|
22
|
+
|
23
|
+
* Rainbows::ThreadTimeout middleware with multiple clients
|
24
|
+
* large, pipelined upload errors with Revactor+Coolio(Rev)
|
25
|
+
* high CPU usage for maintaining idle keepalive on *Fiber*
|
26
|
+
* needless ThreadPool wakeups
|
27
|
+
* request env prematurely cleared keepalive requests,
|
28
|
+
breaking some middlewares such as Clogger.
|
29
|
+
* "close" not called on body if wrapper and sendfile used together
|
30
|
+
|
31
|
+
Various code cleanups, and our RDoc website is JavaScript-free.
|
32
|
+
See the ChangeLog or git for all changes.
|
33
|
+
|
34
|
+
commit 40445641f11f01c6a24bf96c8b80eed5fd33a512
|
35
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
36
|
+
Date: Tue Dec 28 17:59:27 2010 -0800
|
37
|
+
|
38
|
+
complete Rev => Coolio renaming
|
39
|
+
|
40
|
+
We use Cool.io internally everywhere now, but preserve
|
41
|
+
Rev-based models for anybody using them.
|
42
|
+
|
43
|
+
commit 3495d59763e6159975debf32728dc53fc41c5ea1
|
44
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
45
|
+
Date: Mon Dec 27 20:25:39 2010 -0800
|
46
|
+
|
47
|
+
several response body#close fixes
|
48
|
+
|
49
|
+
Some middlewares require the Rack env to be preserved all
|
50
|
+
the way through to close, so we'll ensure all request models
|
51
|
+
preserve it.
|
52
|
+
|
53
|
+
We also need to better response body wrappers/proxies always get
|
54
|
+
fired properly when returning. IO.copy_stream and "sendfile"
|
55
|
+
gem users could hit cases where wrappers did not fire properly.
|
56
|
+
|
57
|
+
commit 53afe0b23fc67c5b25541cddbd68f905c649e756
|
58
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
59
|
+
Date: Tue Dec 28 06:54:06 2010 +0000
|
60
|
+
|
61
|
+
dev_fd_response: pass files straight through
|
62
|
+
|
63
|
+
No need to wrap regular files
|
64
|
+
|
65
|
+
commit 46d79be0ad3de48ef0a677537becb3508ccad31e
|
66
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
67
|
+
Date: Tue Dec 28 01:14:43 2010 +0000
|
68
|
+
|
69
|
+
enable the keepalive_requests config option
|
70
|
+
|
71
|
+
This will allow servers to limit the number of keepalive
|
72
|
+
requests that can be made over a single connection to
|
73
|
+
prevent denial-of-service and also to improve fairness
|
74
|
+
in load-balancing.
|
75
|
+
|
76
|
+
commit ef66567984780b2ce8daa155c367bcf7e049ab77
|
77
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
78
|
+
Date: Mon Dec 27 23:25:12 2010 +0000
|
79
|
+
|
80
|
+
coolio*: favor Coolio over Rev
|
81
|
+
|
82
|
+
We still use and define Rev internally, but that's
|
83
|
+
mostly just manual labor of converting stuff over.
|
84
|
+
|
85
|
+
commit 728496a31f34234b46d7025a23933aa06dd824f5
|
86
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
87
|
+
Date: Mon Dec 27 13:10:57 2010 -0800
|
88
|
+
|
89
|
+
coolio_fiber_spawn: decrease CPU usage for keepalive
|
90
|
+
|
91
|
+
Blindly resuming fibers every second is a waste of cycles, we
|
92
|
+
can use the ZZ hash in regular FiberSpawn to resume expired
|
93
|
+
fibers on an as-needed basis.
|
94
|
+
|
95
|
+
While we're at it, merge the keepalive-timeout class into the
|
96
|
+
heartbeat, there's no reason to have separate timers and
|
97
|
+
classes here.
|
98
|
+
|
99
|
+
commit 0766c1eb631190ee514a90e4d20a941f0a310054
|
100
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
101
|
+
Date: Mon Dec 27 13:10:56 2010 -0800
|
102
|
+
|
103
|
+
t0019: add CPU usage test
|
104
|
+
|
105
|
+
This requires manual verification :<
|
106
|
+
|
107
|
+
commit d430bc3a481f897b4f515d5b7d0a0e239f8d2bb2
|
108
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
109
|
+
Date: Mon Dec 27 13:10:55 2010 -0800
|
110
|
+
|
111
|
+
test-lib: fix bug in setting worker_connections
|
112
|
+
|
113
|
+
We need to be able to set this with keepalive_timeout
|
114
|
+
simultaneously.
|
115
|
+
|
116
|
+
commit 4e7ee4b8a451edf78b0eeac47b8a24c591986e91
|
117
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
118
|
+
Date: Mon Dec 27 13:10:54 2010 -0800
|
119
|
+
|
120
|
+
t0015: even less racy fix
|
121
|
+
|
122
|
+
We need to ensure the first worker has started and is
|
123
|
+
running before attempting to signal the reload.
|
124
|
+
|
125
|
+
commit 2b85ea421197af84a13f6062b21ddcf61490ebcf
|
126
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
127
|
+
Date: Mon Dec 27 08:57:31 2010 +0000
|
128
|
+
|
129
|
+
doc: misc cleanups and additions for RDoc
|
130
|
+
|
131
|
+
This is also our website, so we need to document the new
|
132
|
+
Cool.io-based concurrency options for users and point
|
133
|
+
existing Rev* users to it.
|
134
|
+
|
135
|
+
commit 87a38d1a5658938a3540b45ab04cc85a9135c8f0
|
136
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
137
|
+
Date: Mon Dec 27 07:45:28 2010 +0000
|
138
|
+
|
139
|
+
t0015: increase reliability of test
|
140
|
+
|
141
|
+
The worker process may fork before the original process
|
142
|
+
is killed during daemonization.
|
143
|
+
|
144
|
+
commit 3a250fcfb9fcfa0ab3a8105821e670563025faa4
|
145
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
146
|
+
Date: Mon Dec 27 07:18:49 2010 +0000
|
147
|
+
|
148
|
+
initial cool.io support
|
149
|
+
|
150
|
+
Cool.io is the new name for Rev. We'll continue to support Rev
|
151
|
+
until Cool.io breaks backwards compatibility. Rev may not be
|
152
|
+
supported if Cool.io is.
|
153
|
+
|
154
|
+
commit 2873361069dc2f8c793875316a0a2c9b8fa54761
|
155
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
156
|
+
Date: Mon Dec 27 04:23:34 2010 +0000
|
157
|
+
|
158
|
+
fiber/io: avoid allocating Range objects for slicing
|
159
|
+
|
160
|
+
It's slightly faster this way, but string slicing sucks
|
161
|
+
anyways :<
|
162
|
+
|
163
|
+
commit 40c22b3f0a2ace6e4b51a39624ac5ed5ee3d0162
|
164
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
165
|
+
Date: Mon Dec 27 03:56:30 2010 +0000
|
166
|
+
|
167
|
+
fiber/*: more efficient keepalive_timeout expiry
|
168
|
+
|
169
|
+
We can use the same interface as Rainbows::Fiber.sleep to avoid
|
170
|
+
blindly waking up readers at ever scheduler invocation.
|
171
|
+
|
172
|
+
commit abb3f7e057bd5fb0aa97cae1410ce2f55ba12b9c
|
173
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
174
|
+
Date: Mon Dec 27 03:01:47 2010 +0000
|
175
|
+
|
176
|
+
fiber/base: use bare "select" where possible
|
177
|
+
|
178
|
+
Less visual noise
|
179
|
+
|
180
|
+
commit 2d25a86d1d17bd966eea59e5666e41d9da562811
|
181
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
182
|
+
Date: Mon Dec 27 02:59:10 2010 +0000
|
183
|
+
|
184
|
+
thread_pool: avoid needless wakeups from select
|
185
|
+
|
186
|
+
No point in waking up when our ticker runs in a separate
|
187
|
+
thread.
|
188
|
+
|
189
|
+
commit a3d3d13711869d420b4473d492bd788ebe493053
|
190
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
191
|
+
Date: Mon Dec 27 02:58:31 2010 +0000
|
192
|
+
|
193
|
+
thread_*: unindent
|
194
|
+
|
195
|
+
Hopefully this will make our code easier to follow.
|
196
|
+
|
197
|
+
commit 94b848a8f9120bce8b0abd776b1a9b7e2f4fa30d
|
198
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
199
|
+
Date: Mon Dec 27 02:43:44 2010 +0000
|
200
|
+
|
201
|
+
introduce worker_yield method
|
202
|
+
|
203
|
+
This lets Rainbows! yield the current worker process
|
204
|
+
when busy in the hopes another worker will pick up the
|
205
|
+
slack. We can also override this for the single worker
|
206
|
+
process case later if people care enough.
|
207
|
+
|
208
|
+
commit a310302708faa19042282e94525544cfbb23eba5
|
209
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
210
|
+
Date: Mon Dec 27 02:36:58 2010 +0000
|
211
|
+
|
212
|
+
writer_thread_spawn: factor out Client.quit
|
213
|
+
|
214
|
+
Self-documenting code is easier to follow
|
215
|
+
|
216
|
+
commit 6ae020c9ac483d822902b5d33f038f79b44d3a50
|
217
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
218
|
+
Date: Mon Dec 27 02:30:58 2010 +0000
|
219
|
+
|
220
|
+
writer_thread_*: split out classes into separate files
|
221
|
+
|
222
|
+
Use a consistent "Client" naming to reduce confusion
|
223
|
+
|
224
|
+
commit e7d295fd8e3628eba7a1ba52e95b7dee11532e98
|
225
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
226
|
+
Date: Mon Dec 27 02:20:00 2010 +0000
|
227
|
+
|
228
|
+
writer_thread_*: split out common socket_proxy code
|
229
|
+
|
230
|
+
Needless duplication sucks
|
231
|
+
|
232
|
+
commit 7f2cb1b56afda847c29e1e65fe0608a6f20a0fe6
|
233
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
234
|
+
Date: Mon Dec 27 02:13:32 2010 +0000
|
235
|
+
|
236
|
+
writer_thread_*: unindent
|
237
|
+
|
238
|
+
commit a5ff497e57bc6e8793c38bdd94ea9f1cfefd17fd
|
239
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
240
|
+
Date: Sun Dec 26 23:54:49 2010 +0000
|
241
|
+
|
242
|
+
revactor: split out tee_socket and use autoload
|
243
|
+
|
244
|
+
Some applications never need TeeSocket, and we don't have
|
245
|
+
to worry about thread-safety with Revactor.
|
246
|
+
|
247
|
+
commit c4d92b384dd3f926fa12eb704eeef663a9cb7b66
|
248
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
249
|
+
Date: Sun Dec 26 23:52:43 2010 +0000
|
250
|
+
|
251
|
+
more :: prefix elimination
|
252
|
+
|
253
|
+
This should make things easier on the eyes.
|
254
|
+
|
255
|
+
commit 2e131bfd21f5ec5acc3c86233e5e292cec7aa67d
|
256
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
257
|
+
Date: Sun Dec 26 23:52:02 2010 +0000
|
258
|
+
|
259
|
+
fiber/queue: unindent
|
260
|
+
|
261
|
+
This also cleans up some constant resolution for the root
|
262
|
+
Fiber class.
|
263
|
+
|
264
|
+
commit 712ef17547291fed37e79d37d0b6e0128ed43e0d
|
265
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
266
|
+
Date: Sun Dec 26 23:41:51 2010 +0000
|
267
|
+
|
268
|
+
remove unnecessary "::" constant prefixing
|
269
|
+
|
270
|
+
It's ugly to look at.
|
271
|
+
|
272
|
+
commit 6733af0546a759b73fd63880e8ef2549caf4c4f2
|
273
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
274
|
+
Date: Sun Dec 26 23:16:41 2010 +0000
|
275
|
+
|
276
|
+
never_block: simplify and split out code
|
277
|
+
|
278
|
+
alias_method is a mess, super is superb!
|
279
|
+
|
280
|
+
commit 20e8d57127f16da8e4242582dee3b99d54cbb729
|
281
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
282
|
+
Date: Sun Dec 26 23:12:18 2010 +0000
|
283
|
+
|
284
|
+
event_machine: split out server and client classes
|
285
|
+
|
286
|
+
This should make things easier to find
|
287
|
+
|
288
|
+
commit a50c9d312b9d5274a95f2816b5f53a3738d0cb92
|
289
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
290
|
+
Date: Sun Dec 26 22:48:33 2010 +0000
|
291
|
+
|
292
|
+
rev_thread_*: unindent and split out
|
293
|
+
|
294
|
+
This should make classes easier to find and hopefully make
|
295
|
+
our code easier to follow.
|
296
|
+
|
297
|
+
commit 6741aa27e4c35724b5306644d3a391fce415b0c7
|
298
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
299
|
+
Date: Sun Dec 26 21:46:46 2010 +0000
|
300
|
+
|
301
|
+
rainbows/rev/* require/autoload cleanup
|
302
|
+
|
303
|
+
One line of code saved! We'll also avoid loading
|
304
|
+
DeferredChunkResponse which is rarely needed
|
305
|
+
(unlike DeferredResponse).
|
306
|
+
|
307
|
+
commit 869e0d5da8cbe8959983ed66e2b4c31dc7a37d92
|
308
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
309
|
+
Date: Sun Dec 26 21:40:34 2010 +0000
|
310
|
+
|
311
|
+
rename rev/thread => rev/thread_client
|
312
|
+
|
313
|
+
While we're at it, unindent
|
314
|
+
|
315
|
+
commit c1655a501fc26f7100dd788b42a1914be833fea4
|
316
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
317
|
+
Date: Sun Dec 26 21:33:21 2010 +0000
|
318
|
+
|
319
|
+
rev_thread_spawn: disable under Ruby 1.8
|
320
|
+
|
321
|
+
It still burns CPU at the first sign of doing anything
|
322
|
+
interesting, so stop it. Ruby 1.9 is the future :P
|
323
|
+
|
324
|
+
commit fb7d5dbf06f8ce92a23b50a0cc45be3e7b55fccd
|
325
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
326
|
+
Date: Sun Dec 26 21:27:08 2010 +0000
|
327
|
+
|
328
|
+
GNUmakefile: fix packaging task
|
329
|
+
|
330
|
+
Oops
|
331
|
+
|
332
|
+
commit 7bfd7995fd403f80940e3f6ac36f9ae58b7040cb
|
333
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
334
|
+
Date: Sun Dec 26 03:30:36 2010 +0000
|
335
|
+
|
336
|
+
avoid HttpParser#keepalive? and HttpParser#reset
|
337
|
+
|
338
|
+
The HttpParser#next? method will come with keepalive protection
|
339
|
+
for Rainbows!, which can prevent clients from monopolizing a
|
340
|
+
server with excessive pipelining/keepalive requests.
|
341
|
+
|
342
|
+
commit 92a11cdfe00c5e551388c2cc1a62bfc59d568c6f
|
343
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
344
|
+
Date: Sun Dec 26 09:50:06 2010 +0000
|
345
|
+
|
346
|
+
bump Unicorn dependency
|
347
|
+
|
348
|
+
Unicorn 3.2.1 gives us an improved HttpParser#next? that
|
349
|
+
preserves state until the next HttpParser#parse call.
|
350
|
+
|
351
|
+
commit 17156f6f561c6d697a83e3b9beae2d58eb796428
|
352
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
353
|
+
Date: Sun Dec 26 03:29:16 2010 +0000
|
354
|
+
|
355
|
+
rainbows/rev/*: uninident some more
|
356
|
+
|
357
|
+
This makes constant resolution more predictable, we hope.
|
358
|
+
|
359
|
+
commit 68accc9930b0653b702553790d4ccd626a8dfdfe
|
360
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
361
|
+
Date: Sun Dec 26 03:09:47 2010 +0000
|
362
|
+
|
363
|
+
rev: split out Rainbows::Rev::Server
|
364
|
+
|
365
|
+
One file per class/module should be easier for new
|
366
|
+
hackers to find. Unindent rainbows/rev/core while
|
367
|
+
we're at it, too.
|
368
|
+
|
369
|
+
commit a35fd37ff0c81ca8130c18b7b77957bafe686f83
|
370
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
371
|
+
Date: Sun Dec 26 03:00:11 2010 +0000
|
372
|
+
|
373
|
+
rev: unindent, needless autoload
|
374
|
+
|
375
|
+
Deferred* classes will get loaded anyways since
|
376
|
+
Rainbows::Rev::Client hit them in case statements.
|
377
|
+
|
378
|
+
commit 43e3d3f7a8dd2b184c8485469c2acff3dac34009
|
379
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
380
|
+
Date: Fri Dec 24 08:52:55 2010 +0000
|
381
|
+
|
382
|
+
doc: switch documentation generation to wrongdoc
|
383
|
+
|
384
|
+
It is a common base so we can share documentation tasks
|
385
|
+
more easily with Unicorn and it ensures our RDoc no longer
|
386
|
+
has JavaScript in it!
|
387
|
+
|
388
|
+
commit 7e0dc42f7084e1719456a80b2e44049133c2e8b7
|
389
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
390
|
+
Date: Mon Dec 20 00:54:17 2010 +0000
|
391
|
+
|
392
|
+
thread_timeout: fix bad comparison
|
393
|
+
|
394
|
+
This was causing unrelated requests to get killed every
|
395
|
+
+timeout+ seconds, instead of only the ones that were
|
396
|
+
running too long.
|
397
|
+
|
398
|
+
Noticed-by: ghazel@gmail.com
|
399
|
+
ref:
|
400
|
+
http://mid.gmane.org/AANLkTi=7OhyTwkHsp_rXU7Gp1PokihiQ9bJigpO-BfN6@mail.gmail.com
|
401
|
+
|
402
|
+
commit 886e0a006d9e8e9c586beae28ed4dc5097064e90
|
403
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
404
|
+
Date: Mon Dec 20 03:41:48 2010 +0000
|
405
|
+
|
406
|
+
thread_timeout: avoid a threading bug under 1.9
|
407
|
+
|
408
|
+
Because of the lack of GVL-releasing syscalls in this branch
|
409
|
+
of the thread loop, we need Thread.pass to ensure other threads
|
410
|
+
get scheduled appropriately under 1.9. This is likely a threading
|
411
|
+
bug in 1.9 that warrants further investigation when we're in a
|
412
|
+
better mood.
|
413
|
+
|
414
|
+
commit 7e2bb251228a30c0d4e66029b20bbbf85bc99a09
|
415
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
416
|
+
Date: Tue Dec 14 18:36:34 2010 -0800
|
417
|
+
|
418
|
+
FAQ: add a note about config.threadsafe!
|
419
|
+
|
420
|
+
At least one user ran into it:
|
421
|
+
http://mid.gmane.org/AANLkTikegPX2-6Q93++bz_aLt+9nLPJXjg+NkL8tDjeE@mail.gmail.com
|
422
|
+
|
423
|
+
commit 2bb3f8fd600bd0aabe5e4d7c3d1f99d745fc8f49
|
424
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
425
|
+
Date: Thu Dec 9 17:14:04 2010 -0800
|
426
|
+
|
427
|
+
respect client_body_buffer_size in Unicorn 3.1.0
|
428
|
+
|
429
|
+
This is only needed for concurrency options that
|
430
|
+
do not use TeeInput, since TeeInput automatically
|
431
|
+
handles this for us.
|
432
|
+
|
433
|
+
commit af3629e6bd88b5744016a1c6217c00c37ef5a376
|
434
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
435
|
+
Date: Thu Dec 9 14:42:18 2010 -0800
|
436
|
+
|
437
|
+
bump Unicorn dependency to 3.1.0
|
438
|
+
|
439
|
+
We'll be taking advantage of configurable
|
440
|
+
client_buffer_body_size soon.
|
441
|
+
|
442
|
+
commit 7b51a4b5e16734bae6fe60d180c3906f96235da4
|
443
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
444
|
+
Date: Thu Dec 9 14:22:16 2010 -0800
|
445
|
+
|
446
|
+
thread_timeout: de-Struct-ify
|
447
|
+
|
448
|
+
Avoid exposing internals, it's also slightly faster to
|
449
|
+
access ivars directly rather than using method calls.
|
450
|
+
|
451
|
+
commit 6b750f5f952963009a2e6e8702fc8f3d8adc94ea
|
452
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
453
|
+
Date: Wed Dec 8 18:35:27 2010 -0800
|
454
|
+
|
455
|
+
respect "rewindable_input false" in Unicorn config
|
456
|
+
|
457
|
+
This was completely overlooked for the Rainbows 2.0.x
|
458
|
+
releases.
|
459
|
+
|
460
|
+
commit 10d96a76a1ea4431dd10ba181d747169c22c1cec
|
461
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
462
|
+
Date: Wed Dec 8 13:38:52 2010 -0800
|
463
|
+
|
464
|
+
t/*.sh: indentation fixes
|
465
|
+
|
466
|
+
We use real tabs for indenting shell code since it is not Ruby.
|
467
|
+
|
468
|
+
commit 1562a19a021a72a78ba495328d2d37ba0dc83b8c
|
469
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
470
|
+
Date: Tue Dec 7 12:11:51 2010 -0800
|
471
|
+
|
472
|
+
rev+revactor: fix LARGE pipelined uploads
|
473
|
+
|
474
|
+
Large uploads behave differently with regard to buffering,
|
475
|
+
and there were bugs in the way the Rev and Revactor backends
|
476
|
+
handled uploads.
|
477
|
+
|
478
|
+
commit b4835c6d542c6369f2523ab68fc41b0202d7c6dc
|
479
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
480
|
+
Date: Fri Dec 3 01:23:11 2010 +0000
|
481
|
+
|
482
|
+
Rainbows! 2.0.1 - upload pipelining fixes
|
483
|
+
|
484
|
+
For HTTP clients living on the edge and pipelining uploads, we
|
485
|
+
now fully support pipelined requests (as long as the application
|
486
|
+
consumes each request in its entirety).
|
487
|
+
|
488
|
+
commit c096e735efea5050b0559748633403f0387ea3b3
|
489
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
490
|
+
Date: Fri Dec 3 01:12:08 2010 +0000
|
491
|
+
|
492
|
+
fix pipelining of requests with bodies
|
493
|
+
|
494
|
+
All synchronous models have this fixed in unicorn 3.0.1,
|
495
|
+
so only Rev and EventMachine-based concurrency models
|
496
|
+
require code changes.
|
497
|
+
|
498
|
+
commit 64889d9136fa5466269232c26a2f235dd763d8f0
|
499
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
500
|
+
Date: Thu Dec 2 07:38:14 2010 +0000
|
501
|
+
|
502
|
+
ev_core: refactor and split cap_input out
|
503
|
+
|
504
|
+
Hopefully it makes more sense now and is easier to
|
505
|
+
digest for new hackers.
|
506
|
+
|
507
|
+
commit 945b5760d86b9dd00e65bd0625b98cf75f6a8257
|
508
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
509
|
+
Date: Wed Dec 1 21:29:34 2010 -0800
|
510
|
+
|
511
|
+
ev_core: split out prepare_request_body
|
512
|
+
|
513
|
+
We may have other uses for this in the future...
|
514
|
+
|
515
|
+
commit 90789761f0cc78d3726f3a2eda1c5fe95c015ac2
|
516
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
517
|
+
Date: Fri Nov 19 19:09:59 2010 -0800
|
518
|
+
|
519
|
+
Rainbows! 2.0.0 - minority rules!
|
520
|
+
|
521
|
+
This release is targeted at the minority of web applications
|
522
|
+
that deal heavily with uploads.
|
523
|
+
|
524
|
+
Thanks to Unicorn 3.x, we now support HTTP keepalive for
|
525
|
+
requests with bodies as long as the application consumes them.
|
526
|
+
Unicorn 3.x also allows disabling the rewindability requirement
|
527
|
+
of "rack.input" (in violation of the Rack 1.x spec).
|
528
|
+
|
529
|
+
The global client_body_max_size may also be applied per-endpoint
|
530
|
+
using the Rainbows::MaxBody middleware described in:
|
531
|
+
|
532
|
+
http://rainbows.rubyforge.org/Rainbows/MaxBody.html
|
533
|
+
|
534
|
+
commit c33878ac0f9f990aaa2054f8f00674d61bf5c848
|
535
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
536
|
+
Date: Sat Nov 20 03:10:09 2010 +0000
|
537
|
+
|
538
|
+
tests: depend on Unicorn 3.0.0
|
539
|
+
|
540
|
+
Unicorn 3.0.0 is final and released, so we will use it in our
|
541
|
+
tests
|
542
|
+
|
543
|
+
commit a5986295bfb7bd7c44c863e4670f16481097c7fc
|
544
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
545
|
+
Date: Fri Nov 19 18:55:06 2010 -0800
|
546
|
+
|
547
|
+
revactor: fix braindamaged commit/coding style
|
548
|
+
|
549
|
+
Oops, last commit was rushed
|
550
|
+
|
551
|
+
commit da9dfc1dece4fbcdf2a8e8ccdb4914ce4aa3a998
|
552
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
553
|
+
Date: Fri Nov 19 18:39:02 2010 -0800
|
554
|
+
|
555
|
+
simpler keepalive check for synchronous models
|
556
|
+
|
557
|
+
Unicorn 3.x includes HttpParser#next? which will reset the
|
558
|
+
parser for keepalive requests without extra steps.
|
559
|
+
|
560
|
+
commit c6ffae22748bc22d5ef88fea2a3ca67f480ee74b
|
561
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
562
|
+
Date: Fri Nov 19 10:19:45 2010 +0000
|
563
|
+
|
564
|
+
max_body: rewrite wrappers to be safer
|
565
|
+
|
566
|
+
To avoid denial-of-service attacks, the wrappers need to
|
567
|
+
intercept requests *before* they hit the memory allocator, so we
|
568
|
+
need to reimplement the read(all) and gets cases to use
|
569
|
+
smaller buffers whenever the application does not specify one.
|
570
|
+
|
571
|
+
commit 3cee07d750f678af92318c14110c803be3f9b97f
|
572
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
573
|
+
Date: Fri Nov 19 10:19:44 2010 +0000
|
574
|
+
|
575
|
+
max_body: do not enable for RevThread* models
|
576
|
+
|
577
|
+
Those already use CapInput, just like the rest of the evented
|
578
|
+
Rainbows! world.
|
579
|
+
|
580
|
+
commit 00b854e37391322c05cc16115b245d855b4970be
|
581
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
582
|
+
Date: Fri Nov 19 10:19:43 2010 +0000
|
583
|
+
|
584
|
+
upgrade to Kgio 2.x and Unicorn 3.x
|
585
|
+
|
586
|
+
Kgio 2.0.0 has a superior API and less likely to conflict or
|
587
|
+
blow up with other applications. Unicorn 3.x requires Kgio 2.x,
|
588
|
+
too.
|
589
|
+
|
590
|
+
commit 0f00424be24806791f2b253ddac6d35102842646
|
591
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
592
|
+
Date: Wed Nov 17 10:06:45 2010 -0800
|
593
|
+
|
594
|
+
test_isolate: depend on newer Unicorn
|
595
|
+
|
596
|
+
It allows disabling rewindable input and contains
|
597
|
+
simpler code for upload processing.
|
598
|
+
|
599
|
+
commit 31cf77e7aa2f2e6065e7ace44e55c3f042b51f1b
|
600
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
601
|
+
Date: Tue Nov 16 16:16:42 2010 -0800
|
602
|
+
|
603
|
+
reimplement client_max_body_size handlers
|
604
|
+
|
605
|
+
This allows the client_max_body_size implementation to not rely
|
606
|
+
on Unicorn::TeeInput internals, allowing it to be used with
|
607
|
+
Unicorn::StreamInput (or any other (nearly)
|
608
|
+
Rack::Lint-compatible input object).
|
609
|
+
|
610
|
+
commit 42747db815ad668b20849afb2a9dcdd1319713ae
|
611
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
612
|
+
Date: Tue Nov 2 12:32:23 2010 -0700
|
613
|
+
|
614
|
+
avoid Errno::EAGAIN, harder
|
615
|
+
|
616
|
+
Errno::EAGAIN is still a problem under Ruby 1.9.2, so try harder
|
617
|
+
to avoid it and use kgio methods. Even when 1.9.3 is available,
|
618
|
+
kgio will still be faster as exceptions are slower than normal
|
619
|
+
return values.
|
620
|
+
|
621
|
+
commit 427ef4a2953a4b2d34f7dd89566a0cb5ee6e734d
|
622
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
623
|
+
Date: Tue Nov 2 11:49:17 2010 -0700
|
624
|
+
|
625
|
+
avoid Kgio::WaitReadable/WaitWritable constants
|
626
|
+
|
627
|
+
The underlying symbolic names are easier to type and
|
628
|
+
recommended.
|
629
|
+
|
630
|
+
commit ed3a30dcfb5489447dec9c3f73e8bec9dbf7713a
|
631
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
632
|
+
Date: Thu Nov 4 19:52:35 2010 -0700
|
633
|
+
|
634
|
+
process_client: fix attempted keepalive on HTTP 0.9
|
635
|
+
|
636
|
+
The long-term goal is to make the Unicorn API more terse when
|
637
|
+
handling keepalive.
|
638
|
+
|
639
|
+
commit 9f185041fb7af4cda21ba2d547fd4d16d9b2e453
|
640
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
641
|
+
Date: Thu Oct 28 08:42:09 2010 +0000
|
642
|
+
|
643
|
+
Rainbows! 1.0.0 - internal cleanups
|
644
|
+
|
645
|
+
This release is merely a milestone in our evolving internal API.
|
646
|
+
Use of kgio may result in performance improvements under Ruby
|
647
|
+
1.9.2 with non-blocking I/O-intensive workloads.
|
648
|
+
|
649
|
+
The only bugfix is that SIGHUP reloads restores defaults on
|
650
|
+
unset settings. A similar fix is included in Unicorn 2.0.0
|
651
|
+
as well.
|
652
|
+
|
653
|
+
commit 015635f877084cc05a9e6e4c1430c70279d0a04e
|
654
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
655
|
+
Date: Thu Oct 28 08:40:12 2010 +0000
|
656
|
+
|
657
|
+
tests: avoid race conditions on reload tests
|
658
|
+
|
659
|
+
We need to ensure the old worker is really dead before sending
|
660
|
+
requests after reloading.
|
661
|
+
|
662
|
+
commit b06c6b3ac214bc598d499c994884113d5b106e90
|
663
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
664
|
+
Date: Thu Oct 28 08:29:53 2010 +0000
|
665
|
+
|
666
|
+
t0018: wait for old worker to be reaped
|
667
|
+
|
668
|
+
On busy machines, old workers may not shutdown quickly
|
669
|
+
enough and may still be processing requests.
|
670
|
+
|
671
|
+
commit f84f138233be0607b0151a5a28c3f9190ba336a2
|
672
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
673
|
+
Date: Thu Oct 28 08:20:37 2010 +0000
|
674
|
+
|
675
|
+
rev+event_machine: small cleanups with new parser API
|
676
|
+
|
677
|
+
These allow for small reductions in the amount of variables
|
678
|
+
we have to manage, more changes coming with later Unicorns.
|
679
|
+
|
680
|
+
commit c4579db76b9ed5b0286fad852e798e8a890f093c
|
681
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
682
|
+
Date: Thu Oct 28 02:17:25 2010 +0000
|
683
|
+
|
684
|
+
HUP reload restores defaults on unset settings
|
685
|
+
|
686
|
+
For consistency, changed settings are reset back to
|
687
|
+
their default values if they are removed or commented
|
688
|
+
out from the config file.
|
689
|
+
|
690
|
+
commit 83644e02068311c7ff9cdbc63efd4764d1518138
|
691
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
692
|
+
Date: Wed Oct 27 23:52:28 2010 +0000
|
693
|
+
|
694
|
+
use Unicorn 2.0.0 final
|
695
|
+
|
696
|
+
Unicorn 2.0.0 has CPU wakeup reductions.
|
697
|
+
|
698
|
+
commit 2b9503566759678c9fbd7b01d1b5f487854208db
|
699
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
700
|
+
Date: Tue Oct 26 21:36:02 2010 +0000
|
701
|
+
|
702
|
+
Rakefile: updates for prereleases
|
703
|
+
|
704
|
+
We do prereleases, now.
|
705
|
+
|
706
|
+
commit a47cd4a7f392a76357ed4f3e458797ae1f9c8f25
|
707
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
708
|
+
Date: Tue Oct 26 21:26:03 2010 +0000
|
709
|
+
|
710
|
+
Rainbows! 1.0.0pre1 - kinder, gentler I/O
|
711
|
+
|
712
|
+
Mostly internal changes for kgio (and Unicorn) integration.
|
713
|
+
There should be no (supported) user-visible changes from
|
714
|
+
Rainbows! 0.97.0. kgio should improve performance for
|
715
|
+
concurrency models that use non-blocking I/O internally,
|
716
|
+
especially under Ruby 1.9.2
|
717
|
+
|
718
|
+
commit 0298a6743f2cadf8c8e47a298c5b35505b74af46
|
719
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
720
|
+
Date: Tue Oct 26 21:20:45 2010 +0000
|
721
|
+
|
722
|
+
gemspec: bump development dependency of Isolate
|
723
|
+
|
724
|
+
Might as well go with the latest and greatest,
|
725
|
+
it has saner defaults at least.
|
726
|
+
|
727
|
+
commit 567e6ce5dba5ad2cca2cca8c64123e27939bff2b
|
728
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
729
|
+
Date: Tue Oct 26 21:13:10 2010 +0000
|
730
|
+
|
731
|
+
doc: RDoc updates
|
732
|
+
|
733
|
+
Once again we avoid documenting internals on the public
|
734
|
+
website and use code comments for other developers.
|
735
|
+
|
736
|
+
commit 894cb73887c106acc793f0317ee849ae215ead56
|
737
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
738
|
+
Date: Mon Oct 25 22:15:47 2010 +0000
|
739
|
+
|
740
|
+
reduce dependency on IO#write_nonblock
|
741
|
+
|
742
|
+
kgio_trywrite is superior if it is available.
|
743
|
+
|
744
|
+
commit 4ee6e0dafeb1b7af28fa90ae27c1a1a04aa8e852
|
745
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
746
|
+
Date: Sat Oct 23 00:42:04 2010 +0000
|
747
|
+
|
748
|
+
http_request: remove this (sub)class
|
749
|
+
|
750
|
+
It does not appear to be needed, for now, since the
|
751
|
+
parser and Unicorn::HttpRequest are one and the same.
|
752
|
+
|
753
|
+
commit 180485d49ea858f83ef2a28a9e07224aa514edc7
|
754
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
755
|
+
Date: Fri Oct 22 16:21:03 2010 -0700
|
756
|
+
|
757
|
+
unindent most files
|
758
|
+
|
759
|
+
This simplifies and disambiguates most constant resolution
|
760
|
+
issues as well as lowering our identation level. Hopefully
|
761
|
+
this makes code easier to understand.
|
762
|
+
|
763
|
+
commit 41145ed4d335718ac43aec9313b7571a12fe96ee
|
764
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
765
|
+
Date: Fri Oct 22 15:31:47 2010 -0700
|
766
|
+
|
767
|
+
local.mk.sample: remove testing under 1.9.1
|
768
|
+
|
769
|
+
Ruby 1.9.2 has been out for a while and is the stable
|
770
|
+
release nowadays.
|
771
|
+
|
772
|
+
commit b595ad7333ff85452b229674c6726e40d2cf7bb9
|
773
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
774
|
+
Date: Fri Oct 22 18:55:46 2010 +0000
|
775
|
+
|
776
|
+
README: update copyright year
|
777
|
+
|
778
|
+
This project is over 1 year old!
|
779
|
+
|
780
|
+
commit 4a568eeb7d17885579790d0ae004f04aa13479cb
|
781
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
782
|
+
Date: Fri Oct 22 02:50:09 2010 +0000
|
783
|
+
|
784
|
+
dev_fd_response: do not wrap for Fiber-aware IOs
|
785
|
+
|
786
|
+
Applications may use wait_readable-aware methods directly
|
787
|
+
to work with Rainbows!
|
788
|
+
|
789
|
+
commit 6d46978bdc8d2ee4263431ecdcada53389b12597
|
790
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
791
|
+
Date: Fri Oct 22 02:51:18 2010 +0000
|
792
|
+
|
793
|
+
fiber_{pool,spawn}: unindent
|
794
|
+
|
795
|
+
Reduces confusion for constant resolution/scoping rules
|
796
|
+
and lowers LoC.
|
797
|
+
|
798
|
+
commit 03806d2b44c2d3cee75258ee9e83d671e751baeb
|
799
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
800
|
+
Date: Fri Oct 22 02:38:40 2010 +0000
|
801
|
+
|
802
|
+
fiber_pool: no need for old Fiber::IO
|
803
|
+
|
804
|
+
Rainbows::Client takes care of the I/O wait/read-ability
|
805
|
+
for us already.
|
806
|
+
|
807
|
+
commit 15631717fce044fbad2f386a7b1c7daf4bdd83d2
|
808
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
809
|
+
Date: Thu Oct 21 16:25:39 2010 -0700
|
810
|
+
|
811
|
+
code shuffling for kgio
|
812
|
+
|
813
|
+
Despite the large number of changes, most of it is code
|
814
|
+
movement here.
|
815
|
+
|
816
|
+
commit d4a2b5dd2b85f4b2d3bb120ee1e1b0dde31bc25c
|
817
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
818
|
+
Date: Wed Oct 20 17:48:58 2010 -0700
|
819
|
+
|
820
|
+
unicorn 2.x updates + kgio
|
821
|
+
|
822
|
+
We get basic internal API changes from Unicorn,
|
823
|
+
code simplifications coming next.
|
824
|
+
|
825
|
+
commit a085ba3586756ac1f778d2862f75889de2449b0e
|
826
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
827
|
+
Date: Wed Oct 20 17:48:57 2010 -0700
|
828
|
+
|
829
|
+
http_server: more descriptive error for debugging
|
830
|
+
|
831
|
+
Sometimes we have stupid syntax or constant resolution
|
832
|
+
errors in our code.
|
833
|
+
|
834
|
+
commit ad821f70a2488a91f2be1ac53cb2e64f50743989
|
835
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
836
|
+
Date: Tue Sep 28 17:40:01 2010 -0700
|
837
|
+
|
838
|
+
start using kgio library
|
839
|
+
|
840
|
+
It removes the burden of byte slicing and setting file
|
841
|
+
descriptor flags. In some cases, we can remove unnecessary
|
842
|
+
peeraddr calls, too.
|
843
|
+
|
844
|
+
commit 11c75ec06ce72cea0c760161dc01a196500aa293
|
845
|
+
Author: Eric Wong <normalperson@yhbt.net>
|
846
|
+
Date: Fri Sep 17 08:55:35 2010 +0000
|
847
|
+
|
848
|
+
event_machine: remove unnecessary "return"
|
849
|
+
|
850
|
+
Noise is bad.
|