2010/7/31 Eric Wong <normalperson / yhbt.net>:
>
> The addition of IO::WaitReadable and IO::WaitWritable modules being
> extended into Errno::EAGAIN / Errno::EINPROGRESS exceptions means the
> method cache gets cleared every time those exceptions are raised.  From
> my experience with non-blocking I/O, EAGAIN is a very common "error" and
> can be raised many times a second.  Thus the method cache gets cleared
> constantly.

I see.

Some idea:
* create and cache a subclass of Errno::EAGAIN which includes IO::WaitReadable.
* don't clear the method cache because IO::WaitReadable has no method.
-- 
Tanaka Akira