# Eventmachine 0.12.10

**URL:** <https://www.ruby-forum.com/t/eventmachine-0-12-10/177870>\
**Category:** Ruby\
**Created:** [October 26, 2009, 2:35am UTC](https://www.ruby-forum.com/t/eventmachine-0-12-10/177870 "2009-10-26T02:35:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tmm1](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/97f17d/32.png) [@tmm1](https://www.ruby-forum.com/u/tmm1)\
**Post date:** [October 26, 2009, 2:35am UTC](https://www.ruby-forum.com/t/eventmachine-0-12-10/177870/1 "2009-10-26T02:35:19Z")

</div>

I am happy to announce the release of eventmachine 0.12.10. Gems  
(including  
binary builds for win32 and jruby) have been uploaded to rubyforge and  
should  
be available via `gem install` shortly.

Since 0.12.8, we’ve had over 130 patches with numerous bug fixes,  
improvements  
and several new features. Highlights include:

- Improved Performance

- API Changes

- Protocol Additions

- Platform Support  
AIX, OpenBSD, Solaris  
- minor fixes to support these platforms  
Windows  
- fix missing unbind events on refused outbound connections  
- fix issues with ruby 1.9 on windows

- Ruby Support  
JRuby  
- major overhaul of the jruby reactor for better compat and  
performance  
- basic EM.attach/watch support on the Sun JVM  
- fully compatible with JRuby 1.4  
Ruby 1.9  
- fix bugs trying to kill the EM.defer threadpool  
- fix signal handling to catch ctrl+c and other signals  
gracefully  
Rubinius  
- minor changes to build a compatible C extension

Special thanks to the following people for making this release possible:

- Bernd Ahlers
- Chris Turner
- Dan Mayer
- Perry S.
- Bill ‘spatulasnout’ Kelly
- Hemant ‘gnufied’ Kumar
- Jake ‘yakischloba’ Douglas
- James ‘raggi’ Tucker
- coderrr

The rdoc has been updated and is available at  
[http://eventmachine.rubyforge.org](http://eventmachine.rubyforge.org)

Aman

---

<div class="post-metadata">

**Author:** ![tmm1](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/97f17d/32.png) [@tmm1](https://www.ruby-forum.com/u/tmm1)\
**Post date:** [August 21, 2010, 2:51pm UTC](https://www.ruby-forum.com/t/eventmachine-0-12-10/177870/2 "2010-08-21T14:51:00Z")

</div>

Hi Aman,

I am struck with this wierd problem in windows when I am trying to use  
the thin server for my RoR application developed in ruby 1.9.1p376  
version and rails 2.3.5 version and I have been facing quite some  
problems to get this up and running in my local box. i would like to  
explain tehe various problems I had encounterd. FYI, I am going to host  
my RoR application in a Windows server.

1. no such file or directory - rubyeventmachine ==\> require  
‘rubyeventmachine’ in line no. 66 of the eventmachine.rb file.  
==\> Really couldn’t understand what this option should be changed to.  
Experimentally, had changed the ruby\_eventmachine to pr\_eventmachine and  
the symbol to :cascade option

2. After changing to pr\_eventmachine ==\> No such file or directory :  
uuidgen (pr\_event\_machine)  
==\>After some googling, installed the Microsoft SDK which has the  
UUidgen.exe which can solve the problem. Hard coded the `uuidgen` with  
`<PATH to the uuidgen.exe>` and the server was getting started.

3. The application starts fine, but fails with the error :  
G:/Softwares/Softwares/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.8-x86-mswin32-60/lib/pr\_eventmachine.rb:587:in  
`write_nonblock': A non-blocking socket operation could not be completed immediately. (Errno::EWOULDBLOCK) from G:/Softwares/Softwares/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.8-x86-mswin32-60/lib/pr_eventmachine.rb:587:in `eventable\_write’  
from  
G:/Softwares/Softwares/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.8-x86-mswin32-60/lib/pr\_eventmachine.rb:371:in  
`block in crank\_selectable  
s’

These things have been haunting me for quite some time. Please do  
suggest me what a missing here, what option should I select in point  
#1, and is there a rubyeventmachine.rb file to bedownloaded and included  
in any of the directories?

# FYI, My full gem list are given below.

# actionmailer (2.3.5, 2.2.2) actionpack (2.3.5, 2.2.2) activerecord (2.3.5, 2.2.2) activeresource (2.3.5, 2.2.2) activesupport (2.3.8, 2.3.5, 2.2.2) Ascii85 (1.0.0) cgi\_multipart\_eof\_fix (2.5.0) color (1.4.1) daemons (1.1.0, 1.0.3) eventmachine (0.12.8 x86-mswin32-60) fastthread (1.0.1 i386-mswin32) gem\_plugin (0.2.3) guid (0.1.1) gupshup (0.2.3) hoe (2.6.1) httpclient (2.1.5.2) image\_science (1.2.1) json\_pure (1.4.6) log4r (1.1.7) mysql (2.8.1 x86-mswin32) paperclip (2.3.3) pdf-reader (0.8.5) pdf-writer (1.1.8) rack (1.0.1) rails (2.3.5, 2.2.2) rake (0.8.7) rubyforge (2.0.4) rubygems-update (1.3.7) thin (1.2.7 x86-mswin32) transaction-simple (1.4.0)

# And my gem environment is

RubyGems Environment:

- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.1 (2009-12-07 patchlevel 376) [i386-mswin32]
- INSTALLATION DIRECTORY:  
G:/Softwares/Softwares/ruby-1.9.1/lib/ruby/gems/1.9.  
1
- RUBY EXECUTABLE: G:/Softwares/Softwares/ruby-1.9.1/bin/ruby.exe
- EXECUTABLE DIRECTORY: G:/Softwares/Softwares/ruby-1.9.1/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - x86-mswin32-60

- GEM PATHS:
  - G:/Softwares/Softwares/ruby-1.9.1/lib/ruby/gems/1.9.1
  - C:/Users/vaio/.gem/ruby/1.9.1

- GEM CONFIGURATION:
  - :update\_sources =\> true
  - :verbose =\> true
  - :benchmark =\> false
  - :backtrace =\> false
  - :bulk\_threshold =\> 1000
  - :sources =\> [“[http://rubygems.org/](http://rubygems.org/)”, “[http://gems.github.com](http://gems.github.com)”,  
“[http://ge](http://ge)  
[ms.github.com](http://ms.github.com)”]

- REMOTE SOURCES:
  - [http://rubygems.org/](http://rubygems.org/)
  - [http://gems.github.com](http://gems.github.com)
  - [http://gems.github.com](http://gems.github.com)  
===================================================================

Hope I will get some +ve reply with some quick fix to solve this issue.

Thanks and Regards,  
Sandy

Aman G. wrote:

> I am happy to announce the release of eventmachine 0.12.10. Gems  
> (including  
> binary builds for win32 and jruby) have been uploaded to rubyforge and  
> should  
> be available via `gem install` shortly.
> 
> Since 0.12.8, we’ve had over 130 patches with numerous bug fixes,  
> improvements  
> and several new features. Highlights include:
> 
> ï¿½- Improved Performance  
> ï¿½ ï¿½- subclasses of EM::Connection are not created unless necessary  
> ï¿½ ï¿½- prevent unnecessary system calls to epoll\_ctl/kevent  
> ï¿½ ï¿½- the reactor uses numeric signatures instead of strings,  
> ï¿½ ï¿½ ï¿½resulting in a ~15% overall performance boost
> 
> ï¿½- API Changes  
> ï¿½ ï¿½- EM.reactor\_thread accessor for the reactor’s thread  
> ï¿½ ï¿½- EM.next\_tick and EM.schedule are now thread-safe  
> ï¿½ ï¿½- EM::connect will raise a more better EM::ConnectionError with  
> details  
> ï¿½ ï¿½- EM.epoll=/kqueue= will raise EM::Unsupported when unavailable  
> ï¿½ ï¿½- improved the cryptic “no timer” exception and increased the  
> ï¿½ ï¿½ ï¿½default limit to 10k timers  
> ï¿½ ï¿½- bugfix and improved performance for EM.current\_time  
> ï¿½ ï¿½- EM.add\_periodic\_timer returns PeriodicTimer object  
> ï¿½ ï¿½- EM::Connection#get\_sock\_opt wrapper for getsockopt()  
> ï¿½ ï¿½- added EM.watch for notifications about file descriptors  
> ï¿½ ï¿½ ï¿½ ï¿½for notify\_read/writable events, you cannot use EM.attach  
> ï¿½ ï¿½ ï¿½ ï¿½EM.watch(fd, Watcher){ |c| c.notify\_readable = true }  
> ï¿½ ï¿½- EM::Connection#pending\_connect\_timeout= setter (defaults to 20s)  
> ï¿½ ï¿½- EM.bind\_connect can bind to random source port using nil  
> ï¿½ ï¿½ ï¿½ ï¿½EM.bind\_connect(‘local.ip’, nil, ‘remote.ip’, 1234)  
> ï¿½ ï¿½- added EM::Connection#pause/resume/paused? to pause and resume I/O  
> ï¿½ ï¿½- EM::Connection#proxy\_incoming\_to takes an optional buffer size for  
> ï¿½ ï¿½ ï¿½limiting RAM usage when dealing with slow clients
> 
> ï¿½- Protocol Additions  
> ï¿½ ï¿½- allow overriding the serializer used for ObjectProtocol  
> ï¿½ ï¿½- basic SOCKS v4 client protocol implementation
> 
> ï¿½- Platform Support  
> ï¿½ ï¿½ ï¿½AIX, OpenBSD, Solaris  
> ï¿½ ï¿½ ï¿½ ï¿½- minor fixes to support these platforms  
> ï¿½ ï¿½ ï¿½Windows  
> ï¿½ ï¿½ ï¿½ ï¿½- fix missing unbind events on refused outbound connections  
> ï¿½ ï¿½ ï¿½ ï¿½- fix issues with ruby 1.9 on windows
> 
> ï¿½- Ruby Support  
> ï¿½ ï¿½ ï¿½JRuby  
> ï¿½ ï¿½ ï¿½ ï¿½- major overhaul of the jruby reactor for better compat and  
> performance  
> ï¿½ ï¿½ ï¿½ ï¿½- basic EM.attach/watch support on the Sun JVM  
> ï¿½ ï¿½ ï¿½ ï¿½- fully compatible with JRuby 1.4  
> ï¿½ ï¿½ ï¿½Ruby 1.9  
> ï¿½ ï¿½ ï¿½ ï¿½- fix bugs trying to kill the EM.defer threadpool  
> ï¿½ ï¿½ ï¿½ ï¿½- fix signal handling to catch ctrl+c and other signals  
> gracefully  
> ï¿½ ï¿½ ï¿½Rubinius  
> ï¿½ ï¿½ ï¿½ ï¿½- minor changes to build a compatible C extension
> 
> Special thanks to the following people for making this release possible:  
> ï¿½- Bernd Ahlers  
> ï¿½- Chris Turner  
> ï¿½- Dan Mayer  
> ï¿½- Perry S.  
> ï¿½- Bill ‘spatulasnout’ Kelly  
> ï¿½- Hemant ‘gnufied’ Kumar  
> ï¿½- Jake ‘yakischloba’ Douglas  
> ï¿½- James ‘raggi’ Tucker  
> ï¿½- coderrr
> 
> The rdoc has been updated and is available at  
> [http://eventmachine.rubyforge.org](http://eventmachine.rubyforge.org)
> 
> ï¿½Aman

---

<div class="post-metadata">

**Author:** ![tmm1](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/97f17d/32.png) [@tmm1](https://www.ruby-forum.com/u/tmm1)\
**Post date:** [August 21, 2010, 9:54pm UTC](https://www.ruby-forum.com/t/eventmachine-0-12-10/177870/3 "2010-08-21T21:54:17Z")

</div>

> ï¿½ ï¿½- EM::Connection#pending\_connect\_timeout= setter (defaults to 20s)

An excellent addition. And a much more sane default.

As a note with the devkit and mingw I get:

cmain.cpp: In function ‘int evma\_send\_file\_data\_to\_connection(long  
unsigned int, const char\*)’:  
cmain.cpp:752:6: error: cannot convert ‘stat\*’ to ‘\_stati64\*’ for  
argument ‘2’ to ‘int \_fstati64(int, \_stati64\*)’  
make.exe: \*\*\* [cmain.o] Error 1

Thanks!  
-r
