From: Thomas Hurst Date: 2007-12-29T10:21:39+09:00 Subject: Re: Announcing Rev: a high performance event library for Ruby 1.9 * Tony Arcieri (tony@clickcaster.com) wrote: > Thanks, I'll get that addressed as well. You might notice the painful > lack of tests... I'd like to use RSpec but that's unfortunately broken > by 1.9changes at the moment. Perhaps I could use Rubinius's minispec > if that's working on 1.9, but my guess is I'll have to end up using > Test::Unit for the time being. mspec seems to work. After changing target in mspec/scripts/mspec.rb from shotgun/rubinius to ruby19, I can do: -% ruby19 bin/mspec spec/core/fixnum/* Started .......................F....................... (etc) > > Few other issues: spurious closed connections [..] > I may have a fix for that shortly... I'll ping you off list if I do Thanks. > > Servers don't serve much; they serve one client and exit even in the > > exception-free case, including the example echo server. Multiple > > clients will be served if they manage to connect before the rest > > close, but once the listen queue's empty Rev::Loop#run returns. > > Bizzare. I don't presently have a FreeBSD system, although I plan on > installing FreeBSD later tonight actually, so I can test there. I just tried on my laptop which is running Ubuntu; behavior's identical to FreeBSD with epoll and select. Also, :backend => :kqueue makes it crash horribly there ;) > I'm using kqueue on MacOS X and have not experienced that problem, nor > have I experienced the problem with Linux/epoll. > > I'm curious how that's even happening as the listen socket should be > open and the Rev::Listener object should still be attached to the > loop. Further testing shows this doesn't happen if I use small writes, so it seems to be related to buffering. I can't see any immediately obvious reason why, though. -- Thomas 'Freaky' Hurst http://hur.st/