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

Reply via email to