Rainbows! Rack HTTP server user/dev discussion
 help / Atom feed
* Sinatra stream(:keep_open) not holding connections open
@ 2012-12-05  1:19 W. Andrew Loe III
       [not found] ` <CA+-9oNeKevgZOvKUPs-3VF7qstn8BcNw3_Py0M50h-j5-GzvOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: W. Andrew Loe III @ 2012-12-05  1:19 UTC (permalink / raw)
  To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw

I'm running Rainbows with EventMachine and struggling to get it to
keep the connections open.

First, here is my code: https://gist.github.com/c33598db8a113b574165

This application works on Thin.

The main loop handles the HTTP request and creates a Celluloid Actor
that hangs out waiting on messages from Redis, when it receives a
message it dispatches it to the stream which EM then pushes out to the
client. Eventually the client will disconnect (this is Server-Sent
Events) and the Actor is torn down.

I want to run under Rainbows! for the hot upgrades and to re-use all
of the wonderful scripts I have for managing my Rails/Unicorn stack.
What I see is the GET handler executed, the Actor spawned, then the
connection is closed and the Actor is terminated. The browser then
reconnects. It doesn't ever have the opportunity to dispatch a message
the Actor doesn't even connect to Redis before it is terminated.
Response times are something like 0.0011 seconds, nothing is being
done.

I'd prefer not to pull in Sinatra::Async, I'd like to know why it
works with Thin out-of-the-box, but not Rainbows!
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found] ` <CA+-9oNeKevgZOvKUPs-3VF7qstn8BcNw3_Py0M50h-j5-GzvOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-12-05  1:44   ` Eric Wong
       [not found]     ` <20121205014454.GA24401-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Eric Wong @ 2012-12-05  1:44 UTC (permalink / raw)
  To: Rainbows! list

"W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
> I'm running Rainbows with EventMachine and struggling to get it to
> keep the connections open.
> 
> First, here is my code: https://gist.github.com/c33598db8a113b574165

I'll take a closer look later today.

Can you use a public gist (or any other public git repo) instead of a
private one?  Private gists make no sense for public bug reports.

> This application works on Thin.
> 
> The main loop handles the HTTP request and creates a Celluloid Actor
> that hangs out waiting on messages from Redis, when it receives a
> message it dispatches it to the stream which EM then pushes out to the
> client. Eventually the client will disconnect (this is Server-Sent
> Events) and the Actor is torn down.

Can you reproduce the issue with a stripped down application that
does not depend on Redis?  How about one that does not depend on
Celluloid?

> I want to run under Rainbows! for the hot upgrades and to re-use all
> of the wonderful scripts I have for managing my Rails/Unicorn stack.
> What I see is the GET handler executed, the Actor spawned, then the
> connection is closed and the Actor is terminated. The browser then
> reconnects. It doesn't ever have the opportunity to dispatch a message
> the Actor doesn't even connect to Redis before it is terminated.
> Response times are something like 0.0011 seconds, nothing is being
> done.
> 
> I'd prefer not to pull in Sinatra::Async, I'd like to know why it
> works with Thin out-of-the-box, but not Rainbows!

I would too!  I wasn't aware of stream(:keep_open) until now.
I'll check it out soon.
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]     ` <20121205014454.GA24401-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
@ 2012-12-05  2:16       ` W. Andrew Loe III
       [not found]         ` <CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: W. Andrew Loe III @ 2012-12-05  2:16 UTC (permalink / raw)
  To: Rainbows! list

I've pushed a very very stripped down example that just echos the time.
https://github.com/loe/sinatra-sse

$ bundle install
$ foreman start rainbows
$ foreman start thin

Rainbows listens on 5000 and hangs up immediately.
Thin listens on 5001 and keeps the connection open, you'll see the
time in your browser.

On Tue, Dec 4, 2012 at 5:44 PM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
> "W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
>> I'm running Rainbows with EventMachine and struggling to get it to
>> keep the connections open.
>>
>> First, here is my code: https://gist.github.com/c33598db8a113b574165
>
> I'll take a closer look later today.
>
> Can you use a public gist (or any other public git repo) instead of a
> private one?  Private gists make no sense for public bug reports.
>
>> This application works on Thin.
>>
>> The main loop handles the HTTP request and creates a Celluloid Actor
>> that hangs out waiting on messages from Redis, when it receives a
>> message it dispatches it to the stream which EM then pushes out to the
>> client. Eventually the client will disconnect (this is Server-Sent
>> Events) and the Actor is torn down.
>
> Can you reproduce the issue with a stripped down application that
> does not depend on Redis?  How about one that does not depend on
> Celluloid?
>
>> I want to run under Rainbows! for the hot upgrades and to re-use all
>> of the wonderful scripts I have for managing my Rails/Unicorn stack.
>> What I see is the GET handler executed, the Actor spawned, then the
>> connection is closed and the Actor is terminated. The browser then
>> reconnects. It doesn't ever have the opportunity to dispatch a message
>> the Actor doesn't even connect to Redis before it is terminated.
>> Response times are something like 0.0011 seconds, nothing is being
>> done.
>>
>> I'd prefer not to pull in Sinatra::Async, I'd like to know why it
>> works with Thin out-of-the-box, but not Rainbows!
>
> I would too!  I wasn't aware of stream(:keep_open) until now.
> I'll check it out soon.
> _______________________________________________
> Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
> http://rubyforge.org/mailman/listinfo/rainbows-talk
> Do not quote signatures (like this one) or top post when replying
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]         ` <CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-12-05  3:18           ` Eric Wong
       [not found]             ` <20121205031848.GA32757-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Eric Wong @ 2012-12-05  3:18 UTC (permalink / raw)
  To: Rainbows! list

"W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
> I've pushed a very very stripped down example that just echos the time.
> https://github.com/loe/sinatra-sse

Thanks for the test case, I've just pushed out the following fix
to "master" of git://bogomips.org/rainbows.git

I've pushed a rainbows 4.4.1.1.gd5c8c prerelease to RubyGems.org
It should be installable with: gem install --pre rainbows

I expect this to work for you, but be sure to let me know if it doesn't :x

Since this is a pretty small fix, I think I'll push 4.4.2 final
very soon.

>From d5c8cc8b51619f0d33f75036c53e3936ad2749b2 Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
Date: Wed, 5 Dec 2012 03:08:19 +0000
Subject: [PATCH] event_machine: properly defer body.close for async

Calling body.close in the normal write_response() code path
is incorrect, and only worked out of sheer luck with
Cramp and async_sinata.

This change allows stream(:keep_open) in Sinatra to work
properly.

Thanks to W. Andrew Loe III for the informative bug report
and reproducible test case.

ref: http://mid.gmane.org/CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
---
 lib/rainbows/event_machine/client.rb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/rainbows/event_machine/client.rb b/lib/rainbows/event_machine/client.rb
index e56931f..fc0dfe3 100644
--- a/lib/rainbows/event_machine/client.rb
+++ b/lib/rainbows/event_machine/client.rb
@@ -64,8 +64,11 @@ class Rainbows::EventMachine::Client < EM::Connection
     @state = :headers if alive
     if body.respond_to?(:errback) && body.respond_to?(:callback)
       @deferred = body
+      write_headers(status, headers, alive)
+      write_body_each(body)
       deferred_errback(body)
       deferred_callback(body, alive)
+      return
     elsif body.respond_to?(:to_path)
       st = File.stat(path = body.to_path)
 
-- 
Eric Wong
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]             ` <20121205031848.GA32757-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
@ 2012-12-05  6:09               ` W. Andrew Loe III
       [not found]                 ` <CA+-9oNfR9zM4phTShBsyjweAZBBYWF5egHw7MU8gcBf3f=fAJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: W. Andrew Loe III @ 2012-12-05  6:09 UTC (permalink / raw)
  To: Rainbows! list

Works great! Thank you very much for the quick response and patch!

Feature Request: https://github.com/celluloid/celluloid-io
Celluloid::IO backend, the spiritual successor to cool.io. I'm going
to take a stab at this soon, but wanted to get something out.

On Tue, Dec 4, 2012 at 7:18 PM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
> "W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
>> I've pushed a very very stripped down example that just echos the time.
>> https://github.com/loe/sinatra-sse
>
> Thanks for the test case, I've just pushed out the following fix
> to "master" of git://bogomips.org/rainbows.git
>
> I've pushed a rainbows 4.4.1.1.gd5c8c prerelease to RubyGems.org
> It should be installable with: gem install --pre rainbows
>
> I expect this to work for you, but be sure to let me know if it doesn't :x
>
> Since this is a pretty small fix, I think I'll push 4.4.2 final
> very soon.
>
> >From d5c8cc8b51619f0d33f75036c53e3936ad2749b2 Mon Sep 17 00:00:00 2001
> From: Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
> Date: Wed, 5 Dec 2012 03:08:19 +0000
> Subject: [PATCH] event_machine: properly defer body.close for async
>
> Calling body.close in the normal write_response() code path
> is incorrect, and only worked out of sheer luck with
> Cramp and async_sinata.
>
> This change allows stream(:keep_open) in Sinatra to work
> properly.
>
> Thanks to W. Andrew Loe III for the informative bug report
> and reproducible test case.
>
> ref: http://mid.gmane.org/CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
> ---
>  lib/rainbows/event_machine/client.rb | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/rainbows/event_machine/client.rb b/lib/rainbows/event_machine/client.rb
> index e56931f..fc0dfe3 100644
> --- a/lib/rainbows/event_machine/client.rb
> +++ b/lib/rainbows/event_machine/client.rb
> @@ -64,8 +64,11 @@ class Rainbows::EventMachine::Client < EM::Connection
>      @state = :headers if alive
>      if body.respond_to?(:errback) && body.respond_to?(:callback)
>        @deferred = body
> +      write_headers(status, headers, alive)
> +      write_body_each(body)
>        deferred_errback(body)
>        deferred_callback(body, alive)
> +      return
>      elsif body.respond_to?(:to_path)
>        st = File.stat(path = body.to_path)
>
> --
> Eric Wong
> _______________________________________________
> Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
> http://rubyforge.org/mailman/listinfo/rainbows-talk
> Do not quote signatures (like this one) or top post when replying
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]                 ` <CA+-9oNfR9zM4phTShBsyjweAZBBYWF5egHw7MU8gcBf3f=fAJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-01-19  0:21                   ` W. Andrew Loe III
       [not found]                     ` <CA+-9oNdXyYrnyu3dfMuu7ULE7rhT_Rm48BCU_KaJUwsrmcj9-g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: W. Andrew Loe III @ 2013-01-19  0:21 UTC (permalink / raw)
  To: Rainbows! list

This appears to have been broken in my application in Rainbows 4.4.3.

On Tue, Dec 4, 2012 at 10:09 PM, W. Andrew Loe III <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
> Works great! Thank you very much for the quick response and patch!
>
> Feature Request: https://github.com/celluloid/celluloid-io
> Celluloid::IO backend, the spiritual successor to cool.io. I'm going
> to take a stab at this soon, but wanted to get something out.
>
> On Tue, Dec 4, 2012 at 7:18 PM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
>> "W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
>>> I've pushed a very very stripped down example that just echos the time.
>>> https://github.com/loe/sinatra-sse
>>
>> Thanks for the test case, I've just pushed out the following fix
>> to "master" of git://bogomips.org/rainbows.git
>>
>> I've pushed a rainbows 4.4.1.1.gd5c8c prerelease to RubyGems.org
>> It should be installable with: gem install --pre rainbows
>>
>> I expect this to work for you, but be sure to let me know if it doesn't :x
>>
>> Since this is a pretty small fix, I think I'll push 4.4.2 final
>> very soon.
>>
>> >From d5c8cc8b51619f0d33f75036c53e3936ad2749b2 Mon Sep 17 00:00:00 2001
>> From: Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
>> Date: Wed, 5 Dec 2012 03:08:19 +0000
>> Subject: [PATCH] event_machine: properly defer body.close for async
>>
>> Calling body.close in the normal write_response() code path
>> is incorrect, and only worked out of sheer luck with
>> Cramp and async_sinata.
>>
>> This change allows stream(:keep_open) in Sinatra to work
>> properly.
>>
>> Thanks to W. Andrew Loe III for the informative bug report
>> and reproducible test case.
>>
>> ref: http://mid.gmane.org/CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
>> ---
>>  lib/rainbows/event_machine/client.rb | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/lib/rainbows/event_machine/client.rb b/lib/rainbows/event_machine/client.rb
>> index e56931f..fc0dfe3 100644
>> --- a/lib/rainbows/event_machine/client.rb
>> +++ b/lib/rainbows/event_machine/client.rb
>> @@ -64,8 +64,11 @@ class Rainbows::EventMachine::Client < EM::Connection
>>      @state = :headers if alive
>>      if body.respond_to?(:errback) && body.respond_to?(:callback)
>>        @deferred = body
>> +      write_headers(status, headers, alive)
>> +      write_body_each(body)
>>        deferred_errback(body)
>>        deferred_callback(body, alive)
>> +      return
>>      elsif body.respond_to?(:to_path)
>>        st = File.stat(path = body.to_path)
>>
>> --
>> Eric Wong
>> _______________________________________________
>> Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
>> http://rubyforge.org/mailman/listinfo/rainbows-talk
>> Do not quote signatures (like this one) or top post when replying
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]                     ` <CA+-9oNdXyYrnyu3dfMuu7ULE7rhT_Rm48BCU_KaJUwsrmcj9-g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-01-19  1:01                       ` W. Andrew Loe III
       [not found]                         ` <CA+-9oNedbb17X=6Eum0bOG3zEryrhnurvXui4Ye7TcRLrAFcUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: W. Andrew Loe III @ 2013-01-19  1:01 UTC (permalink / raw)
  To: Rainbows! list

I was too quick to the gun, the change appears to be between Rack
1.4.1 and 1.4.2. Pinning my application to rack 1.4.1 and it works
well with kgio 2.8.0 and rainbows 4.4.3.

Frustrating.

Broken here: https://github.com/rack/rack/commit/18ff5d4a70c93a49de62a359986c1567cb4bf00d

On Fri, Jan 18, 2013 at 4:21 PM, W. Andrew Loe III <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
> This appears to have been broken in my application in Rainbows 4.4.3.
>
> On Tue, Dec 4, 2012 at 10:09 PM, W. Andrew Loe III <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
>> Works great! Thank you very much for the quick response and patch!
>>
>> Feature Request: https://github.com/celluloid/celluloid-io
>> Celluloid::IO backend, the spiritual successor to cool.io. I'm going
>> to take a stab at this soon, but wanted to get something out.
>>
>> On Tue, Dec 4, 2012 at 7:18 PM, Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org> wrote:
>>> "W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
>>>> I've pushed a very very stripped down example that just echos the time.
>>>> https://github.com/loe/sinatra-sse
>>>
>>> Thanks for the test case, I've just pushed out the following fix
>>> to "master" of git://bogomips.org/rainbows.git
>>>
>>> I've pushed a rainbows 4.4.1.1.gd5c8c prerelease to RubyGems.org
>>> It should be installable with: gem install --pre rainbows
>>>
>>> I expect this to work for you, but be sure to let me know if it doesn't :x
>>>
>>> Since this is a pretty small fix, I think I'll push 4.4.2 final
>>> very soon.
>>>
>>> >From d5c8cc8b51619f0d33f75036c53e3936ad2749b2 Mon Sep 17 00:00:00 2001
>>> From: Eric Wong <normalperson-rMlxZR9MS24@public.gmane.org>
>>> Date: Wed, 5 Dec 2012 03:08:19 +0000
>>> Subject: [PATCH] event_machine: properly defer body.close for async
>>>
>>> Calling body.close in the normal write_response() code path
>>> is incorrect, and only worked out of sheer luck with
>>> Cramp and async_sinata.
>>>
>>> This change allows stream(:keep_open) in Sinatra to work
>>> properly.
>>>
>>> Thanks to W. Andrew Loe III for the informative bug report
>>> and reproducible test case.
>>>
>>> ref: http://mid.gmane.org/CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
>>> ---
>>>  lib/rainbows/event_machine/client.rb | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/lib/rainbows/event_machine/client.rb b/lib/rainbows/event_machine/client.rb
>>> index e56931f..fc0dfe3 100644
>>> --- a/lib/rainbows/event_machine/client.rb
>>> +++ b/lib/rainbows/event_machine/client.rb
>>> @@ -64,8 +64,11 @@ class Rainbows::EventMachine::Client < EM::Connection
>>>      @state = :headers if alive
>>>      if body.respond_to?(:errback) && body.respond_to?(:callback)
>>>        @deferred = body
>>> +      write_headers(status, headers, alive)
>>> +      write_body_each(body)
>>>        deferred_errback(body)
>>>        deferred_callback(body, alive)
>>> +      return
>>>      elsif body.respond_to?(:to_path)
>>>        st = File.stat(path = body.to_path)
>>>
>>> --
>>> Eric Wong
>>> _______________________________________________
>>> Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
>>> http://rubyforge.org/mailman/listinfo/rainbows-talk
>>> Do not quote signatures (like this one) or top post when replying
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

* Re: Sinatra stream(:keep_open) not holding connections open
       [not found]                         ` <CA+-9oNedbb17X=6Eum0bOG3zEryrhnurvXui4Ye7TcRLrAFcUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-01-19  1:09                           ` Eric Wong
  0 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2013-01-19  1:09 UTC (permalink / raw)
  To: Rainbows! list

"W. Andrew Loe III" <andrew-4trK/3dDa6Nl57MIdRCFDg@public.gmane.org> wrote:
> I was too quick to the gun, the change appears to be between Rack
> 1.4.1 and 1.4.2. Pinning my application to rack 1.4.1 and it works
> well with kgio 2.8.0 and rainbows 4.4.3.

Phew!  You had me worried.  It seems fixed in Sinatra:
https://groups.google.com/forum/?fromgroups=#!topic/rack-devel/PGaU2qD9oS8
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying


^ permalink raw reply	[flat|threaded] 8+ messages in thread

end of thread, back to index

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-05  1:19 Sinatra stream(:keep_open) not holding connections open W. Andrew Loe III
     [not found] ` <CA+-9oNeKevgZOvKUPs-3VF7qstn8BcNw3_Py0M50h-j5-GzvOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-12-05  1:44   ` Eric Wong
     [not found]     ` <20121205014454.GA24401-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2012-12-05  2:16       ` W. Andrew Loe III
     [not found]         ` <CA+-9oNd1EFqsniPkkPTwu5opTCinbM7-2KHoXov7+y3LE4s4Tg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-12-05  3:18           ` Eric Wong
     [not found]             ` <20121205031848.GA32757-yBiyF41qdooeIZ0/mPfg9Q@public.gmane.org>
2012-12-05  6:09               ` W. Andrew Loe III
     [not found]                 ` <CA+-9oNfR9zM4phTShBsyjweAZBBYWF5egHw7MU8gcBf3f=fAJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-19  0:21                   ` W. Andrew Loe III
     [not found]                     ` <CA+-9oNdXyYrnyu3dfMuu7ULE7rhT_Rm48BCU_KaJUwsrmcj9-g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-19  1:01                       ` W. Andrew Loe III
     [not found]                         ` <CA+-9oNedbb17X=6Eum0bOG3zEryrhnurvXui4Ye7TcRLrAFcUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-19  1:09                           ` Eric Wong

Rainbows! Rack HTTP server user/dev discussion

Archives are clonable:
	git clone --mirror http://bogomips.org/rainbows-public
	git clone --mirror http://ou63pmih66umazou.onion/rainbows-public

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.rainbows

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox