ChangeLog in kgio-1.1.0 vs ChangeLog in kgio-1.2.0

- old
+ new

@@ -1,6 +1,73 @@ ChangeLog from git://git.bogomips.org/kgio.git () + commit 414dd17f1009c571e2d7657721271756e3d4dd8e + Author: Eric Wong <e@yhbt.net> + Date: Tue Oct 5 16:09:40 2010 -0700 + + kgio 1.2.0 - cleanups and minor improvements + + The C extension is now split into several files for + ease-of-maintenance. + + Slightly more common, client-triggerable exceptions (EOFError, + Errno::EPIPE, Errno::ECONNRESET) are now less expensive as they + are generated without backtraces. + + commit e085bb9600b190692beb5efc85656ebf127ae08c + Author: Eric Wong <e@yhbt.net> + Date: Tue Oct 5 15:45:16 2010 -0700 + + generate empty backtraces for EPIPE and ECONNRESET + + Malicious clients may disconnect during big writes to cause + EPIPE and ECONNRESET exceptions. Generating backtraces can be + expensive with Ruby, so mitigate the DoS vector by lowering the + cost of generating an exception. + + commit b168cc894037620cab82fa82f3ab37a3aab81570 + Author: Eric Wong <e@yhbt.net> + Date: Tue Oct 5 15:26:57 2010 -0700 + + add kgio_read! methods which may raise EOFError + + Except EOFError is gently raised to not include a huge + backtrace. Large backtraces can be a performance problem on + busy servers that malicious clients may exploit to deny service. + + commit 870ada92db7071c7982913e508ac35b97d6e8761 + Author: Eric Wong <e@yhbt.net> + Date: Tue Oct 5 11:45:02 2010 -0700 + + GNUmakefile: use portable tar invocation + + We've been spoiled by GNU tar. + + commit 2a6115a89d5c95428bd6c3e0bc10e5a3a4c3c3be + Author: Eric Wong <e@yhbt.net> + Date: Wed Sep 29 18:25:58 2010 -0700 + + refactor and split into separate files + + Making the code easier to read and navigate. This also + frees us from having to use the stupid A4_ prefix for + accept4(2) flags since it conflicts with the socket(2) + ones. + + commit 8fe89997453d6c530c3f5e08bc9c1da40a621248 + Author: Eric Wong <e@yhbt.net> + Date: Wed Sep 29 17:13:21 2010 -0700 + + Make kgio_trywrite more aggressive with retrying + + Partial writes can be retried until completely denied with + EAGAIN. Often times, it is beneficial to retry immediately + after a partial write because the kernel may allocate more + buffers or the reader can drain the buffers. + + This helps the caller avoid crossing the Ruby <-> C boundary + more than necessary. + commit 39c851e595970a2349a8a39878afd94a3324e102 Author: Eric Wong <e@yhbt.net> Date: Tue Sep 28 18:16:53 2010 -0700 kgio 1.1.0 - flexible accept methods