On Dec 28, 2007 2:05 PM, Thomas Hurst <[EMAIL PROTECTED]> wrote: > Buffered writing seems to be broken; the buffer is sliced incorrectly, > so it spins writing the last few KB
Heh, I caught that one earlier today and a fix is checked in. Thanks for pointing it out. > and the Watcher doesn't have an enabled? method so that fails if it ever > reaches it. Patch: > > http://voi.aagh.net/rev-0.1.0_lib-rev-buffered_io.rb.diff > 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. > Few other issues: spurious closed connections - if I do one big write > I'm ok, but splitting a 500k buffer into 4k writes almost always results > in a closed stream IOError on the second write, and a ECONNRESET on the > reading side. > I may have a fix for that shortly... I'll ping you off list if I do > 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. > This is tested with FreeBSD 6.2, using kqueue, select and poll. > Bizzare. I don't presently have a FreeBSD system, although I plan on installing FreeBSD later tonight actually, so I can test 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. -- Tony Arcieri ClickCaster, Inc. [EMAIL PROTECTED]
_______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
