<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lang.ruby.rainbows.general">
    <title>gmane.comp.lang.ruby.rainbows.general</title>
    <link>http://blog.gmane.org/gmane.comp.lang.ruby.rainbows.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/348"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/347"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/345"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/343"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/336"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/327"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/320"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/314"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/311"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/310"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/303"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/297"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/294"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/292"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/291"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/290"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/288"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/286"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/284"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/280"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/348">
    <title>Is there a good example of setting up rainbows as a comet server?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/348</link>
    <description>&lt;pre&gt;Someone on stackoverflow suggested using rainbows instead of juggernaut/node.js for sending push notifications via comet.
But I can't seem to find anything about setting something up like that.

Thanks.
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Jason Kenney</dc:creator>
    <dc:date>2012-05-16T23:51:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/347">
    <title>Sveiki.</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/347</link>
    <description>&lt;pre&gt;Laba diena,

Rašome Jums iš įmonės „Internet Solutions“. Norime informuoti, kad
kuriame interneto svetaines (nemokamai), klientai moka tik už svetainės
talpinimą mūsų serveryje.
Atsinaujinusius svetainių talpinimo planus ir įkainius rasite pateiktoje
nuorodoje:
http://internetsolutions.lt/tinklapiu-kurimas
Galime susikurti svetainę ir be talpinimo paslaugos, dėl kainų
teirautis nurodytais kontaktais.

Jei jau turite svetainę, galime pasiūlyti svetainės optimizaciją (SEO
paslaugas).
Plačiau apie tai galite rasti mūsų tinklapyje:
http://internetsolutions.lt/reklama-internete/seo-paslaugos/

Taip pat galime pasiūlyti naujienlaiškių siuntimo paslaugas:
http://internetsolutions.lt/e-marketingas/naujienlaiskiu-siuntimas/

Geros dienos,




--
Evelina Navickaitė
UAB „Internet Solutions“
verslo klientų vadybininkė
+370 662 35133
sales&amp;lt; at &amp;gt;internetsolutions.lt
www.internetsolutions.lt
Reg. adresas: Tvenkinių g. 8A, Šakių k., Kauno r. sav.
Biuro - korespondencijos adresas: Lyros g. 5, Šiauliai


_______________________________________________
Rainbows! mailing list - rainbows-talk&amp;lt; at &amp;gt;rubyforge.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying
&lt;/pre&gt;</description>
    <dc:creator>Paklausimas</dc:creator>
    <dc:date>2012-05-14T09:27:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/345">
    <title>Sveiki.</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/345</link>
    <description>&lt;pre&gt;Sveiki,

Prieš keletą savaičių rašėme Jums dėl interneto svetainių kūrimo
ir atnaujinimo.  Taigi norėtume dar kartą pasidomėti, galbūt
persigalvojote?
Įmonės gimtadienio proga visiems užsisakantiems 24 mėnesių svetainės
talpinimo paslaugą, taikome 3 mėnesių talpinimo nuolaidą, o visoms
kitoms paslaugoms suteikiame 10% nuolaidą  (SEO paslaugoms, reklamai
internete, naujienlaiškių siuntimui).

Nuolaidos taikomos iki 2012 m. gegužės 01 d.

Visi mūsų svetainių darbų pvz:
http://internetsolutions.lt/tinklapiu-kurimas/keletas-paskutiniu-darbu

Talpinimo įkainius rasite čia:
http://internetsolutions.lt/tinklapiu-kurimas

Naujienlaiškių darbų pvz:
http://internetsolutions.lt/e-marketingas/keletas-naujienlaiskiu-pavydziu




--
Evelina Navickaitė
UAB „Internet Solutions“
verslo klientų vadybininkė
+370 662 35133
sales&amp;lt; at &amp;gt;internetsolutions.lt
www.internetsolutions.lt
Reg. adresas: Tvenkinių g. 8A, Šakių k., Kauno r. sav.
Biuro - korespondencijos adresas: Lyros g. 5, Šiauliai


_______________________________________________
Rainbows! mailing list - rainbows-talk&amp;lt; at &amp;gt;rubyforge.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying
&lt;/pre&gt;</description>
    <dc:creator>Sveiki</dc:creator>
    <dc:date>2012-04-12T06:29:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/343">
    <title>100% cpu with faye-websocket</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/343</link>
    <description>&lt;pre&gt;Hi,

please CC me as i am not on the list.

i am using rainbows (configured with eventmachine) to serve faye websocket connections.
see https://github.com/faye/faye-websocket-ruby.

when the first user connects (using websocket protocol), cpu usage goes to 100% and stays there.
even when the user is idle or disconnects.

is this normal behavior?

i inspected the process using dtrace under mac os x and saw that the process is doing a lot of read and write system calls all the time.
i can observe the same 100% cpu behavior on linux. so this is not a mac os x issue.

here is my config file and command line:

# rainbows.conf
Rainbows! do
  use :EventMachine
end

rainbows config.ru -c path/to/rainbows.conf -E production -p 9292


regards,
Lion Vollnhals
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Lion Vollnhals</dc:creator>
    <dc:date>2012-04-12T08:59:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/336">
    <title>Out of band stuff?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/336</link>
    <description>&lt;pre&gt;Hello everyone,

I'm needing to perform a couple of tasks outside of the request cycle.
For instance, I want to ping a web service every X minutes so that I
can maintain a persistent connection to it and have better response
times for some requests that I have to do *inside* the request cycle.

What would be the reasonable way of doing this?

I'm thinking the OOB GC is just another example. But the current way
the OOB GC is written makes one think it's a very specific case and
not something one should use for other purposes.

Thoughts?

Thanks in advance.

D.
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Damian Janowski</dc:creator>
    <dc:date>2012-04-06T21:49:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/327">
    <title>'Connection reset by peer' when replying before the end of POST data</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/327</link>
    <description>&lt;pre&gt;Hi!

Short introduction: I am working on a simple "one-click" file
sharing web application specific focus on protecting users' privacy [1].
Thanks to Rainbows! it can work with big uploads without any request
buffering which is simply marvelous! :)

I am currently trying to implement a limit on the maximum uploaded file
size, not unlike what is already done by Rainbows::MaxBody.
Unfortunately, it looks like answering a request while the client is in
the middle of posting data is not supported that well by Rainbows!

Here is a minimal test case:

--- 8&amp;lt; --- config.ru ---------------------------------------------------

class InterruptTest
  def call(env)
    # HTTP 1.1 standard (and curl) needs this
    /\A100-continue\z/i =~ env['HTTP_EXPECT'] and return [ 100, {}, [] ]

    error = "Request entity too large!\n"
    env['rack.input'].read 1000
    Rainbows.sleep 1
    [ 403, { 'Content-Type' =&amp;gt; 'text/plain' }, [ error ] ]
  end
end

run InterruptTest.new

--- &amp;gt;8 -----------------------------------------------------------------

--- 8&amp;lt; --- rainbows.conf -----------------------------------------------

Rainbows! do
  use :ThreadSpawn
  rewindable_input false
  client_max_body_size nil
end

--- &amp;gt;8 -----------------------------------------------------------------

I am starting Rainbows! with the following command-line:

    $ rainbows -E none -p 8081 -c rainbows.conf rackup.ru

And then, when asking curl (the `test` file is 7636 bytes long):

    $ curl -v -F "file=&amp;lt; at &amp;gt;test;type=text/plain" http://localhost:8081
    * About to connect() to localhost port 8081 (#0)
    *   Trying 127.0.0.1... connected
    * Connected to localhost (127.0.0.1) port 8081 (#0)
    &amp;gt; POST / HTTP/1.1
    &amp;gt; User-Agent: curl/7.21.0 (i486-pc-linux-gnu) libcurl/7.21.0
    &amp;gt; OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
    &amp;gt; Host: localhost:8081
    &amp;gt; Accept: */*
    &amp;gt; Content-Length: 7829
    &amp;gt; Expect: 100-continue
    &amp;gt; Content-Type: multipart/form-data;
    &amp;gt; boundary=----------------------------cd790f73307f
    &amp;gt; 
    &amp;lt; HTTP/1.1 100 Continue
    &amp;lt; HTTP/1.1 403 Forbidden
    &amp;lt; Date: Tue, 28 Feb 2012 21:20:15 GMT
    &amp;lt; Status: 403 Forbidden
    &amp;lt; Connection: close
    &amp;lt; Content-Type: text/plain
    &amp;lt; 
    Request entity too large!
    * Recv failure: Connection reset by peer
    * Closing connection #0
    curl: (56) Recv failure: Connection reset by peer

This "connection reset by peer" is annoying as it will result in Apache
stating "Bad gateway", or Firefox displaying "The connection was reset".

I believe Rainbows::MaxBody having the same issue, but I am not sure.
Also looking at the code, it looks like Rainbows::MaxBody trust the
Content-Length header and do not mesure the actual amount of bytes
received if the header is present. I believe Content-Length can be faked
by malicious clients, so it might be better to use limit_input! for
every connections.

In any cases, I would very much like to solve this issue, but I feel a
little bit lost on where to start.

My assumption was that other webservers were doing it right, otherwise
no one would ever see a 413 Request Entity Too Large message in a
browser. I see that Nginx has options related to SO_LINGER and that
Apache also mention "Lingering Close" when discussing how to close
connections. But I don't really know where to poke on Rainbows! to play
with these kinds of options. Anyway, this issue looks closeloy like the
one described in section 8 of
&amp;lt;http://ftp.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt&amp;gt;.

Thanks again for any help solving this. :)

[1] You can have a look at
    &amp;lt;https://git.codecoop.org/projects/coquelicot&amp;gt;, but there is not
    that much to see yet. The code using Rainbows! is not yet in a
    releasable state, but progress is steady, so expect some news
    later. :)
[2] &amp;lt;https://httpd.apache.org/docs/2.2/misc/perf-tuning.html&amp;gt;

Cheers,
&lt;/pre&gt;</description>
    <dc:creator>Lunar</dc:creator>
    <dc:date>2012-02-28T22:15:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/320">
    <title>WWW.ZARLAV.NET   Монголын нэгдсэн зарын сайт</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/320</link>
    <description>&lt;pre&gt;http://www.zarlav.net    Монголын интернет 40 зарын сайтын нэг цэгийн үйлчилгээ

1. Зарын 40 сайтаас зараа хайх болон өгөхөд /үнэгүй/

2. Гадаад болон Монгол кинонууд үзэх /үнэгүй/

3. 10.000 ширхэг тоглоомоос сонгон тоглох /үнэгүй/

4. Арван хурууны бичээч програм татах /үнэгүй/

---------------------------------------------------


Та иймэрхүү байдлаар 200.000 хэрэглэгчдэд И-Мэйл сурталчилгаа хийлгэхэд 300.000 төг

холбоо барих :  advertise_mon&amp;lt; at &amp;gt;yahoo.com


_______________________________________________
Rainbows! mailing list - rainbows-talk&amp;lt; at &amp;gt;rubyforge.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying
&lt;/pre&gt;</description>
    <dc:creator>www.zarlav.net</dc:creator>
    <dc:date>2012-01-03T04:39:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/314">
    <title>Weird app error: uninitialized fiber (FiberError)</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/314</link>
    <description>&lt;pre&gt;Hello Rainbows,

I was trying to `use :CoolioFiberSpawn` with `Rainbows.sleep`
to simulate asynchrony HTTP requests. However, I keep seeing
weird "app error: uninitialized fiber (FiberError)".

I spent a few hours (ouch) tracking down to a simple case.
Suppose I have a Rack app which has `Rainbows.sleep`
inside a each block:
https://gist.github.com/1536857 (I am running Ruby 1.9.3)

class Weird
  def call env=nil
    [1].each{ # if you comment out the each block, then it works
      Rainbows.sleep 2
    }
    [200, {}, ["ok\n"]]
  end
end

Then `run Weird.new` would always cause

    app error: uninitialized fiber (FiberError)

But if I took out the each block
inside Weird#call, such like:

class Weird
  def call env=nil
    Rainbows.sleep 2
    [200, {}, ["ok\n"]]
  end
end

Then it works fine. Moreover, if I run the app like this:

    run lambda{ |env| Weird.new.call }

Then both with or without the each block would work.

Could you please explain this for me? Or is it a bug somewhere?
Thanks!!
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Lin Jen-Shin (godfat</dc:creator>
    <dc:date>2011-12-30T00:28:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/311">
    <title>Rainbows! + Nginx</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/311</link>
    <description>&lt;pre&gt;I'm trying to run a Rails app that utilizes HTTP streaming with
Rainbows! behind Nginx.
Here is my nginx.conf:https://gist.github.com/a749361acd09b6ae80e2
Despite setting proxy_buffering off; it appears that nginx is still
buffering the output because I do not get a streaming response.  When
I curl the app directly (port 3000) I get a proper streaming response,
but when I curl nginx (which proxies to the Rails app) I do not get a
streaming response.
Any thoughts?
Thanks,Danny
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Danny Tran</dc:creator>
    <dc:date>2011-12-05T23:42:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/310">
    <title>[ANN] Zbatery 4.1.2 - we don't fork, but our apps may!</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/310</link>
    <description>&lt;pre&gt;* http://zbatery.bogomip.org/
* rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
* git://bogomips.org/zbatery.git
* http://zbatery.bogomip.org/NEWS.atom.xml

Changes:

There are two bugfixes in this release.  Rack applications that
use fork() internally should now behave as-expected when
receiving SIGCHLD.  The pid file is also unlinked during a
graceful shutdown.

Thanks to Damian Janowski for the bug report and confirming
the fix!
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-12-05T18:51:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/303">
    <title>Weird random Zbatery exception</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/303</link>
    <description>&lt;pre&gt;Hello everyone,

I'm giving Zbatery a try, currently testing with ThreadPool.

By the way, this instance is sitting behind Varnish.

I can't figure out precise steps to trigger this exception, but it
happens after a few GET/POST requests:

/usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:361:in
`awaken_master': undefined method `kgio_trywrite' for nil:NilClass
(NoMethodError)
        from /usr/local/lib/ruby/gems/1.9.1/gems/unicorn-4.1.1/lib/unicorn/http_server.rb:130:in
`block in start'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rainbows-4.3.1/lib/rainbows/thread_pool.rb:32:in
`call'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rainbows-4.3.1/lib/rainbows/thread_pool.rb:32:in
`join'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rainbows-4.3.1/lib/rainbows/thread_pool.rb:32:in
`block in worker_loop'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rainbows-4.3.1/lib/rainbows/thread_pool.rb:30:in
`each'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rainbows-4.3.1/lib/rainbows/thread_pool.rb:30:in
`worker_loop'
        from /usr/local/lib/ruby/gems/1.9.1/gems/zbatery-4.1.1/lib/zbatery.rb:100:in
`join'
        from /usr/local/lib/ruby/gems/1.9.1/gems/zbatery-4.1.1/bin/zbatery:121:in
`&amp;lt;top (required)&amp;gt;'
        from /usr/local/bin/zbatery:19:in `load'
        from /usr/local/bin/zbatery:19:in `&amp;lt;main&amp;gt;'

(Needless to say, I googled already without much luck).

Any ideas?

D.
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Damian Janowski</dc:creator>
    <dc:date>2011-12-02T19:39:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/297">
    <title>trysetrlimit always raises on Mac OS X</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/297</link>
    <description>&lt;pre&gt;Hello,
I decided to investigate on why rainbows! prints out Invalid argument - setrlimit on Lion.

It turns out the method trysetrlimit in http_server.rb is trying to set RLIMIT_NOFILE to the maximum allowed number that it finds through cur, max = Process.getrlimit(var)

This +max+ variable holds 9223372036854775807, while 256 is the +cur+ value.
Then we find this line of code to actually set some value:
    cur &amp;lt;= want and Process.setrlimit(var, cur = max &amp;gt; want ? max : want)

This setrlimit call will do Process.setrlimit(8, 9223372036854775807), Lion bombs out and there's no fallback at least for setting the want value.

Setting Process.setrlimit second argument to the +want+ values works (mine is 406).
It should also be noted that the Process.setrlimit(2..3) call returns nil when successful.
The exact error:
    rainbows-4.3.1/lib/rainbows/http_server.rb:70:in `setrlimit': Invalid argument - setrlimit (Errno::EINVAL)

I rewrote the method a bit, but it doesn't include the fact to set the max value, ever; I understand though that other operating systems might work, so I just leave this report open for thoughts.

Currently setting this kind of limits on OSX is tricky at best and for some is not a recommended practice,
I will not be surprised if this turns out to be a Ruby bug. I'm using 1.9.3-preview1 for this tests.
--
Claudio
iCoreTech Research Labs - AudioBox.fm
Twitter: http://twitter.com/masterkain

_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Claudio Poli</dc:creator>
    <dc:date>2011-09-16T01:43:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/294">
    <title>[TAN] [ANN] Unix systems programming mailing list</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/294</link>
    <description>&lt;pre&gt;Rainbows! doesn't have as many Unix-only idioms as Unicorn, but there
are still bugfixes like commit 71b4507755f2bd279adb14e6cdc90e1380efa247
that could warrant more explanation.

I'll probably cover various concurrency-related topics in later posts,
but it won't be the main topic.

The original announcement is here:
  http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/387563

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-09-09T20:49:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/292">
    <title>Error building Zbatery on Windows</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/292</link>
    <description>&lt;pre&gt;Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

c:\ &amp;gt;ruby -v
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

c:\ &amp;gt;gem -v
1.5.2

c:\ &amp;gt;gem install zbatery
Fetching: kgio-2.6.0.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing zbatery:
        ERROR: Failed to build gem native extension.

        C:/Ruby192/bin/ruby.exe extconf.rb
checking for CLOCK_MONOTONIC in time.h... no
checking for CLOCK_MONOTONIC() in time.h... no
checking for clockid_t in time.h... no
checking for clock_gettime() in -lrt... no
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for poll() in poll.h... no
checking for getaddrinfo() in sys/types.h,sys/socket.h,netdb.h... no
getaddrinfo required
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby192/bin/ruby
        --with-rtlib
        --without-rtlib
        --with-nsllib
        --without-nsllib
        --with-socketlib
        --without-socketlib


Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/kgio-2.6.0 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/kgio-2.6.0/ext/kgio/gem_make.out


c:\ &amp;gt;type \Ruby192\lib\ruby\gems\1.9.1\gems\kgio-2.6.0\ext\kgio\mkmf.log
have_macro: checking for CLOCK_MONOTONIC in time.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: int main() {return 0;}
/* end */

"gcc -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -IC:/Ruby192/i
nclude/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra -Wno-unused
-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long   -
c conftest.c"
conftest.c:8:3: error: #error
conftest.c:9:1: error: expected identifier or '(' before '&amp;gt;&amp;gt;' token
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6: /*top*/
7: #ifndef CLOCK_MONOTONIC
8: # error
9: &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; CLOCK_MONOTONIC undefined &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;
10: #endif
/* end */

--------------------

have_func: checking for CLOCK_MONOTONIC() in time.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:9:53: error: 'CLOCK_MONOTONIC' undeclared (first use in this function)
conftest.c:9:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))CLOCK_MONOTONIC; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
C:\DOCUME~1\gkistner\LOCALS~1\Temp\1\cccXN0I7.o: In function `t':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\kgio-2.6.0\ext\kgio/conftest.c:9: undefined reference to `CLOCK_MONOTONIC'

collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { CLOCK_MONOTONIC(); return 0; }
/* end */

--------------------

have_type: checking for clockid_t in time.h... -------------------- no

"gcc -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -IC:/Ruby192/i
nclude/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra -Wno-unused
-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long   -
c conftest.c"
conftest.c:8:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftest_type'
conftest.c:9:24: error: 'conftest_type' undeclared here (not in a function)
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: typedef clockid_t conftest_type;
9: int conftestval[sizeof(conftest_type)?1:-1];
/* end */

--------------------

have_library: checking for clock_gettime() in -lrt... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lrt  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:9:53: error: 'clock_gettime' undeclared (first use in this function)
conftest.c:9:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))clock_gettime; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lrt  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lrt
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { clock_gettime(); return 0; }
/* end */

--------------------

have_library: checking for t_open() in -lnsl... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lnsl  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:8:53: error: 't_open' undeclared (first use in this function)
conftest.c:8:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { void ((*volatile p)()); p = (void ((*)()))t_open; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lnsl  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lnsl
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { t_open(); return 0; }
/* end */

--------------------

have_library: checking for socket() in -lsocket... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lsocket  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lsocket
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { void ((*volatile p)()); p = (void ((*)()))socket; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lsocket  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:8:1: error: too few arguments to function 'socket'
c:\rubydev\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/winsock2.h:553:35: note: declared here
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { socket(); return 0; }
/* end */

--------------------

have_func: checking for poll() in poll.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:5:18: fatal error: poll.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;poll.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))poll; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:5:18: fatal error: poll.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;poll.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { poll(); return 0; }
/* end */

--------------------

have_func: checking for getaddrinfo() in sys/types.h,sys/socket.h,netdb.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:6:24: fatal error: sys/socket.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;sys/types.h&amp;gt;
6: #include &amp;lt;sys/socket.h&amp;gt;
7: #include &amp;lt;netdb.h&amp;gt;
8:
9: /*top*/
10: int main() {return 0;}
11: int t() { void ((*volatile p)()); p = (void ((*)()))getaddrinfo; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:6:24: fatal error: sys/socket.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;sys/types.h&amp;gt;
6: #include &amp;lt;sys/socket.h&amp;gt;
7: #include &amp;lt;netdb.h&amp;gt;
8:
9: /*top*/
10: int main() {return 0;}
11: int t() { getaddrinfo(); return 0; }
/* end */

--------------------


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Gavin Kistner</dc:creator>
    <dc:date>2011-09-07T19:34:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/291">
    <title>Error building Zbatery on Windows</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/291</link>
    <description>&lt;pre&gt;Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

c:\ &amp;gt;ruby -v
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

c:\ &amp;gt;gem -v
1.5.2

c:\ &amp;gt;gem install zbatery
Fetching: kgio-2.6.0.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing zbatery:
        ERROR: Failed to build gem native extension.

        C:/Ruby192/bin/ruby.exe extconf.rb
checking for CLOCK_MONOTONIC in time.h... no
checking for CLOCK_MONOTONIC() in time.h... no
checking for clockid_t in time.h... no
checking for clock_gettime() in -lrt... no
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for poll() in poll.h... no
checking for getaddrinfo() in sys/types.h,sys/socket.h,netdb.h... no
getaddrinfo required
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby192/bin/ruby
        --with-rtlib
        --without-rtlib
        --with-nsllib
        --without-nsllib
        --with-socketlib
        --without-socketlib


Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/kgio-2.6.0 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/kgio-2.6.0/ext/kgio/gem_make.out


c:\ &amp;gt;type \Ruby192\lib\ruby\gems\1.9.1\gems\kgio-2.6.0\ext\kgio\mkmf.log
have_macro: checking for CLOCK_MONOTONIC in time.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: int main() {return 0;}
/* end */

"gcc -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -IC:/Ruby192/i
nclude/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra -Wno-unused
-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long   -
c conftest.c"
conftest.c:8:3: error: #error
conftest.c:9:1: error: expected identifier or '(' before '&amp;gt;&amp;gt;' token
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6: /*top*/
7: #ifndef CLOCK_MONOTONIC
8: # error
9: &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; CLOCK_MONOTONIC undefined &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;
10: #endif
/* end */

--------------------

have_func: checking for CLOCK_MONOTONIC() in time.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:9:53: error: 'CLOCK_MONOTONIC' undeclared (first use in this function)
conftest.c:9:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))CLOCK_MONOTONIC; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
C:\DOCUME~1\gkistner\LOCALS~1\Temp\1\cccXN0I7.o: In function `t':
C:\Ruby192\lib\ruby\gems\1.9.1\gems\kgio-2.6.0\ext\kgio/conftest.c:9: undefined reference to `CLOCK_MONOTONIC'

collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { CLOCK_MONOTONIC(); return 0; }
/* end */

--------------------

have_type: checking for clockid_t in time.h... -------------------- no

"gcc -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -IC:/Ruby192/i
nclude/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra -Wno-unused
-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long   -
c conftest.c"
conftest.c:8:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftest_type'
conftest.c:9:24: error: 'conftest_type' undeclared here (not in a function)
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: typedef clockid_t conftest_type;
9: int conftestval[sizeof(conftest_type)?1:-1];
/* end */

--------------------

have_library: checking for clock_gettime() in -lrt... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lrt  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:9:53: error: 'clock_gettime' undeclared (first use in this function)
conftest.c:9:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))clock_gettime; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lrt  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lrt
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;time.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { clock_gettime(); return 0; }
/* end */

--------------------

have_library: checking for t_open() in -lnsl... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lnsl  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:8:53: error: 't_open' undeclared (first use in this function)
conftest.c:8:53: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { void ((*volatile p)()); p = (void ((*)()))t_open; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lnsl  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lnsl
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { t_open(); return 0; }
/* end */

--------------------

have_library: checking for socket() in -lsocket... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lsocket  -lshell32 -lws2_32  "
c:/rubydev/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/bin/ld.exe: cannot find -lsocket
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { void ((*volatile p)()); p = (void ((*)()))socket; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static -lsocket  -lshell32 -lws2_32  "
conftest.c: In function 't':
conftest.c:8:1: error: too few arguments to function 'socket'
c:\rubydev\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/winsock2.h:553:35: note: declared here
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5:
6: /*top*/
7: int main() {return 0;}
8: int t() { socket(); return 0; }
/* end */

--------------------

have_func: checking for poll() in poll.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:5:18: fatal error: poll.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;poll.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { void ((*volatile p)()); p = (void ((*)()))poll; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:5:18: fatal error: poll.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;poll.h&amp;gt;
6:
7: /*top*/
8: int main() {return 0;}
9: int t() { poll(); return 0; }
/* end */

--------------------

have_func: checking for getaddrinfo() in sys/types.h,sys/socket.h,netdb.h... -------------------- no

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:6:24: fatal error: sys/socket.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;sys/types.h&amp;gt;
6: #include &amp;lt;sys/socket.h&amp;gt;
7: #include &amp;lt;netdb.h&amp;gt;
8:
9: /*top*/
10: int main() {return 0;}
11: int t() { void ((*volatile p)()); p = (void ((*)()))getaddrinfo; return 0; }
/* end */

"gcc -o conftest -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby192/include/ruby-1.9.1/ruby/backward -I
C:/Ruby192/include/ruby-1.9.1 -I.    -D_GNU_SOURCE -DPOSIX_C_SOURCE=1-D_POSIX_C_SOURCE=200112L  -O3 -g -Wextra
-Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-l
ong-long conftest.c  -L. -LC:/Ruby192/lib -L.      -lmsvcrt-ruby191-static  -lshell32 -lws2_32  "
conftest.c:6:24: fatal error: sys/socket.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include &amp;lt;winsock2.h&amp;gt;
4: #include &amp;lt;windows.h&amp;gt;
5: #include &amp;lt;sys/types.h&amp;gt;
6: #include &amp;lt;sys/socket.h&amp;gt;
7: #include &amp;lt;netdb.h&amp;gt;
8:
9: /*top*/
10: int main() {return 0;}
11: int t() { getaddrinfo(); return 0; }
/* end */

--------------------


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
_______________________________________________
Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
http://rubyforge.org/mailman/listinfo/rainbows-talk
Do not quote signatures (like this one) or top post when replying

&lt;/pre&gt;</description>
    <dc:creator>Gavin Kistner</dc:creator>
    <dc:date>2011-09-07T19:02:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/290">
    <title>[ANN] Rainbows! 4.3.1 + Zbatery 4.1.1 - small bugfix</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/290</link>
    <description>&lt;pre&gt;Two releases, same change:

This release fixes a potential reentrancy deadlock when
using the default logger from the Ruby standard library.

* http://rainbows.rubyforge.org/
* git://bogomips.org/rainbows.git
* http://rainbows.rubyforge.org/NEWS.atom.xml

* http://zbatery.bogomip.org/
* git://bogomips.org/zbatery.git
* http://zbatery.bogomip.org/NEWS.atom.xml

(Zbatery can't pull in this fix from Rainbows! since the signal
 handlers are setup differently for a single process)

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-09-02T02:38:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/288">
    <title>[PATCH] avoid potential Logger deadlock in SIGQUIT and SIGUSR1</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/288</link>
    <description>&lt;pre&gt;If any combination of SIGQUIT and SIGUSR1 are sent to a
Rainbows! worker in a /very/ short period of time, the Mutex
used by the default Logger implementation may deadlock since
Mutex synchronization is not reentrant-safe.

Users of alternative logger implementations (or monkey-patched
ones) are possibly not affected.  Users of the logger_mp_safe.rb
monkey-patch distributed[1] with unicorn are not affected.

[1] http://unicorn.bogomips.org/examples/logger_mp_safe.rb
---
 I've pushed to rainbows.git   I haven't seen Rainbows! hit it,
 but I've encountered this elsewhere.

 I don't have anything else for a bit, so maybe I'll just
 release 4.3.1 tonight.  Anybody have any other outstanding issues?

 lib/rainbows/base.rb |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/rainbows/base.rb b/lib/rainbows/base.rb
index d1c5c08..54f1d2d 100644
--- a/lib/rainbows/base.rb
+++ b/lib/rainbows/base.rb
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,8 +18,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; module Rainbows::Base
     # we're don't use the self-pipe mechanism in the Rainbows! worker
     # since we don't defer reopening logs
     Rainbows::HttpServer::SELF_PIPE.each { |x| x.close }.clear
-    trap(:USR1) { reopen_worker_logs(worker.nr) }
-    trap(:QUIT) { Rainbows.quit! }
+
+    # spawn Threads since Logger takes a mutex by default and
+    # we can't safely lock a mutex in a signal handler
+    trap(:USR1) { Thread.new { reopen_worker_logs(worker.nr) } }
+    trap(:QUIT) { Thread.new { Rainbows.quit! } }
     [:TERM, :INT].each { |sig| trap(sig) { exit!(0) } } # instant shutdown
     Rainbows::ProcessClient.const_set(:APP, Rainbows.server.app)
     logger.info "Rainbows! #&amp;lt; at &amp;gt;use worker_connections=#&amp;lt; at &amp;gt;worker_connections"
&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-08-30T23:32:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/286">
    <title>[ANN] Rainbows! 4.3.0 and Zbatery 4.1.0</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/286</link>
    <description>&lt;pre&gt;Changes:

These releases pull in changes from unicorn 4.1.0

The deprecated Rainbows::HttpResponse class is finally gone
thanks to Pratik Naik.  Logging of errors is more consistent
with the changes in unicorn 4.1.0.  There are also minor
documentation updates.  See the unicorn 4.1.0 release notes
for more details:
  http://bogomips.org/unicorn.git/tag/?id=v4.1.0

* http://rainbows.rubyforge.org/
* git://bogomips.org/rainbows.git
* http://rainbows.rubyforge.org/NEWS.atom.xml

Zbatery is Rainbows! without the fork():

* git://bogomips.org/zbatery.git
* http://zbatery.bogomip.org/
* http://zbatery.bogomip.org/NEWS.atom.xml

The mailing list for both projects is rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-08-20T01:47:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/284">
    <title>[ANN] Rainbows! 4.2.0 - Cramp WebSocket updates!</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/284</link>
    <description>&lt;pre&gt;Changes:

This release includes updates to support WebSockets
under Cramp 0.14 and later.  This will be the last
release which supports Cramp 0.13.

There are no changes in this release for non-Cramp
users.

* http://rainbows.rubyforge.org/
* rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
* git://bogomips.org/rainbows.git

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-08-05T23:45:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/280">
    <title>[PATCH] Remove deprecated Rainbows::HttpResponse</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/280</link>
    <description>&lt;pre&gt;---
 lib/rainbows.rb               |    1 -
 lib/rainbows/http_response.rb |   26 --------------------------
 2 files changed, 0 insertions(+), 27 deletions(-)
 delete mode 100644 lib/rainbows/http_response.rb

diff --git a/lib/rainbows.rb b/lib/rainbows.rb
index 3bf7717..bfa1ba0 100644
--- a/lib/rainbows.rb
+++ b/lib/rainbows.rb
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -121,7 +121,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; module Rainbows
 
   autoload :Fiber, 'rainbows/fiber' # core class
   autoload :StreamFile, 'rainbows/stream_file'
-  autoload :HttpResponse, 'rainbows/http_response' # deprecated
   autoload :ThreadTimeout, 'rainbows/thread_timeout'
   autoload :WorkerYield, 'rainbows/worker_yield'
   autoload :SyncClose, 'rainbows/sync_close'
diff --git a/lib/rainbows/http_response.rb b/lib/rainbows/http_response.rb
deleted file mode 100644
index 564d2d0..0000000
--- a/lib/rainbows/http_response.rb
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,26 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-# -*- encoding: binary -*-
-# :enddoc:
-# deprecated, use Rainbows::Response instead
-# Cramp 0.11 relies on this, and is only activated by Cramp
-if defined?(Cramp) &amp;amp;&amp;amp; defined?(Rainbows::EventMachine::Client)
-  class Rainbows::HttpResponse
-    # dummy method for Cramp to alias_method_chain
-    def self.write(client, response, out)
-    end
-  end
-
-  module Rainbows::EventMachine::CrampSocket
-    def em_write_response(response, alive = false)
-      if websocket?
-        write web_socket_upgrade_data
-        web_socket_handshake!
-        response[1] = nil # disable response headers
-      end
-      super
-    end
-  end
-
-  class Rainbows::EventMachine::Client
-    include Rainbows::EventMachine::CrampSocket
-  end
-end
&lt;/pre&gt;</description>
    <dc:creator>Pratik Naik</dc:creator>
    <dc:date>2011-08-05T21:24:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/279">
    <title>[ANN] Rainbows! 4.1.0 - minor internal cleanups</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.rainbows.general/279</link>
    <description>&lt;pre&gt;Changes:

There are only some minor cleanups in this release and a bump to
kgio 2.5 to remove the dependency on io/wait.  kgio 2.5 or later
is now required (kgio 2.6+ will be required in the next
release).

I don't recall hearing of anybody running Rainbows! in production
and serving public traffic, yet.  You can be the first!  Have fun!

* http://rainbows.rubyforge.org/
* rainbows-talk-GrnCvJ7WPxnNLxjTenLetw&amp;lt; at &amp;gt;public.gmane.org
* git://bogomips.org/rainbows.git

&lt;/pre&gt;</description>
    <dc:creator>Eric Wong</dc:creator>
    <dc:date>2011-07-30T22:47:53</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.rainbows.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.rainbows.general</link>
  </textinput>
</rdf:RDF>

