From: Tanaka Akira Date: 2012-03-18T00:27:49+09:00 Subject: [ruby-core:43369] Re: [ruby-trunk - Bug #6154][Open] Eliminate extending WaitReadable/Writable at runtime 2012/3/16 Charles Nutter : > The nonblocking IO operations started extending WaitReadable or WaitWritable into the Errno::EAGAIN instance some time during the 1.9 series. This has a rather high cost, since a singleton class must be created and the global method cache must be flushed. > > The attached patch instead creates two new classes of the following form, and raises them rather than raising a singleton EAGAIN: EWOULDBLOCK is a different from EAGAIN on some platforms. (HP-UX, for example.) I think your patch breaks applications which rescue only EWOULDBLOCK, on such platforms. -- Tanaka Akira