celluloid/celluloid-io — pull request #23 by halorgium (2013-05-21 23:11:48+00:00)
Title: Celluloid::IO breaks if tasks contend on both reads and writes simultaneously

Hi,
streaming a rails application with ringleader, sometimes i have this exception:

```
INFO 18:15:40.102628 | publisher_admin | 192.168.196.65 - - [28/Aug/2012 18:15:40] "GET %2Fassets%2Factive_admin-53e0270d3b7867040477c0e8a731159f.js HTTP/1.1" 206 503770 0.0018
INFO 18:15:40.881735 | publisher_admin | 192.168.196.65 - - [28/Aug/2012 18:15:40] "GET /admin/recipes HTTP/1.1" 304 - 0.1884
INFO 18:15:40.900777 | publisher_admin | 192.168.196.65 - - [28/Aug/2012 18:15:40] "GET %2Fassets%2Factive_admin-d6817fe924b0efe5bae0fcd2d891eef9.css HTTP/1.1" 304 - 0.0013
INFO 18:15:40.901950 | publisher_admin | 192.168.196.65 - - [28/Aug/2012 18:15:40] "GET %2Fassets%2Factive_admin-53e0270d3b7867040477c0e8a731159f.js HTTP/1.1" 206 1 0.0008
ERROR 18:15:40.907013 | Ringleader::SocketProxy crashed!
ArgumentError: this IO is already registered with selector
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-io-0.11.0/lib/celluloid/io/reactor.rb:42:in `register'
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-io-0.11.0/lib/celluloid/io/reactor.rb:42:in `wait'
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-io-0.11.0/lib/celluloid/io/reactor.rb:26:in `wait_writable'
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-0.11.1/lib/celluloid/calls.rb:57:in `dispatch'
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-0.11.1/lib/celluloid/actor.rb:240:in `block in handle_message'
/home/websvil/.rvm/gems/ruby-1.9.3-p194/gems/celluloid-0.11.1/lib/celluloid/task.rb:45:in `block in initialize'
```

when in the same request is served the same file 2 times it give this problem. Can be an issue of ringleader or of celluloid-io?