Commit 525f5c1c authored by Hleb Valoshka's avatar Hleb Valoshka

New upstream version 2.11.2

parent 05f68b44
---
cgit_url: http://bogomips.org/kgio.git
cgit_url: https://bogomips.org/kgio.git
git_url: git://bogomips.org/kgio.git
ml_url: http://bogomips.org/kgio-public/
rdoc_url: http://bogomips.org/kgio/
ml_url: https://bogomips.org/kgio-public/
rdoc_url: https://bogomips.org/kgio/
public_email: kgio-public@bogomips.org
private_email: kgio@bogomips.org
noindex:
- LATEST
- TODO
nntp_url:
- nntp://news.public-inbox.org/inbox.comp.lang.ruby.kgio
- nntp://news.gmane.org/gmane.comp.lang.ruby.kgio.general
GIT_VERSION = 2.11.0
GIT_VERSION = 2.11.2
#!/bin/sh
GVF=GIT-VERSION-FILE
DEF_VER=v2.11.0
DEF_VER=v2.11.2
LF='
'
......
......@@ -2,14 +2,14 @@
=== Documentation
We use the latest version of {olddoc}[http://80x24.org/olddoc/] as
We use the latest version of {olddoc}[https://80x24.org/olddoc/] as
much as possible.
Please wrap documentation at 72 characters-per-line or less (long URLs
are exempt) so it is comfortably readable from terminals.
When referencing mailing list posts, use
"http://bogomips.org/kgio-public/$MESSAGE_ID/" if possible since the
<tt>https://bogomips.org/kgio-public/$MESSAGE_ID/</tt> if possible
Message-ID remains searchable even if the archive becomes unavailable.
=== Code Compatibility
......
......@@ -2,8 +2,8 @@
The kgio {mailing list}[mailto:kgio-public@bogomips.org] is the best
place to report bugs, submit patches and/or obtain support after you
have searched the mailing list archives at http://bogomips.org/kgio-public/
and {documentation}[http://bogomips.org/kgio].
have searched the mailing list archives at https://bogomips.org/kgio-public/
and {documentation}[https://bogomips.org/kgio/].
* Do not {top post}[http://catb.org/jargon/html/T/top-post.html] in replies
* Quote only the relevant portions of the message you're replying to
......@@ -30,7 +30,5 @@ guidelines for patch submission.
== Mailing List Archives
* http://bogomips.org/kgio-public/
* git://bogomips.org/kgio-public/
(see http://ssoma.public-inbox.org/ for layout)
* NNTP coming soon
* https://bogomips.org/kgio-public/
* nntp://news.public-inbox.org/inbox.comp.lang.ruby.kgio
=== kgio 2.11.0 - reverting 2.10.0 breakage / 2016-12-16 22:56 UTC
=== kgio 2.11.2 - fix Ruby 2.5 compatibility for accept_class / 2018-01-30 21:11 UTC
Mainly this release reverts back to kgio 2.9.3 behavior by
supporting "autopush" functionality in the C extension.
Removing this feature in 2.10.0 was a monumental mistake(*) on
my part which caused a performance regression for ONE known user
of kgio on the deprecated (but supported) Rainbows! server.
This release fixes a bug affecting the Rainbows! web server
which uses Kgio.accept_class:
This release does not affect known users outside of Rainbows!,
but we may have unknown users, too.
https://bogomips.org/rainbows-public/CANp6QoJXRbPLqmOPpG7XmZBc+oYqLWCcq1ipvOyNEQPXDEwx9Q@mail.gmail.com/
The attempt at a pure Ruby version of autopush had flaws and
regressions in real-world testing, so that was abandoned.
So yeah, kgio will be supported indefinitely even in the face
of internal changes to MRI, but I strongly discourage its use
for new projects.
Users who only support Ruby 2.3 (and later) are encouraged to
use `exception: false` with all *_nonblock methods.
4 changes since 2.10.0:
resurrect Kgio.autopush support in pure Ruby [REVERTED]
reinstate the original (and dangerous) autopush in C
TODO: update with Ruby 2.3 status
test: increase test data sizes to fill socket buffers
(*) - as was making this a separate project, at all
* accept: avoid passing unnecessary arg to rb_funcall
=== kgio 2.11.2 - fix Ruby 2.5 compatibility for accept_class / 2018-01-30 21:11 UTC
This release fixes a bug affecting the Rainbows! web server
which uses Kgio.accept_class:
https://bogomips.org/rainbows-public/CANp6QoJXRbPLqmOPpG7XmZBc+oYqLWCcq1ipvOyNEQPXDEwx9Q@mail.gmail.com/
* accept: avoid passing unnecessary arg to rb_funcall
=== kgio 2.11.1 - fix Ruby 2.5.0dev compatibility / 2017-12-15 19:40 UTC
This release fixes compatibility with Ruby 2.5.0 preview and
release candidates (and thus should be ready for 2.5.0 final)
on some platforms. At least clang 5.0.0 on OpenBSD is affected.
Thanks to Jeremy Evans for the fix.
There's also minor documentation updates since 2.11.0
=== kgio 2.11.0 - reverting 2.10.0 breakage / 2016-12-16 22:56 UTC
Mainly this release reverts back to kgio 2.9.3 behavior by
......
= kgio - kinder, gentler I/O for Ruby
kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS. It is intended for use with the
unicorn Rack server, but may be used by other applications (that run on
Unix-like platforms).
This is a legacy project, do not use it for new projects. Ruby
2.3 and later should make this obsolete. kgio provides
non-blocking I/O methods for Ruby without raising exceptions on
EAGAIN and EINPROGRESS.
== Features
......@@ -11,7 +11,7 @@ Unix-like platforms).
returning :wait_readable or :wait_writable instead.
These exceptions got more expensive to hit under Ruby 1.9.2
(but were fixed in Ruby 1.9.3 and later to 1.9.1 performance levels,
which were still bad)
which were still bad)
* Returns the unwritten portion of the string on partial writes,
making it ideal for buffering unwritten data.
......@@ -21,9 +21,8 @@ Unix-like platforms).
callbacks (such as adding the file descriptor to a poll set and yielding
the current Fiber).
* Uses
{accept4}[http://kernel.org/doc/man-pages/online/pages/man2/accept4.2.html]
on new GNU/Linux systems to avoid unnecessary fcntl() calls
* Uses {accept4}[http://man7.org/linux/man-pages/man2/accept4.2.html]
on newer GNU/Linux systems to avoid unnecessary fcntl() calls
* Uses MSG_DONTWAIT on GNU/Linux to further avoid unnecessary fcntl() calls
......@@ -46,7 +45,7 @@ You can get the latest source via git from the following locations
You may browse the code from the web and download the latest snapshot
tarballs here:
* http://bogomips.org/kgio.git (cgit)
* https://bogomips.org/kgio.git
* http://repo.or.cz/w/kgio.git (gitweb)
See the HACKING guide on how to contribute and build prerelease gems
......
......@@ -40,7 +40,7 @@ static VALUE set_accepted(VALUE klass, VALUE aclass)
if (NIL_P(aclass))
aclass = cKgio_Socket;
tmp = rb_funcall(aclass, rb_intern("included_modules"), 0, 0);
tmp = rb_funcall(aclass, rb_intern("included_modules"), 0);
tmp = rb_funcall(tmp, rb_intern("include?"), 1, mSocketMethods);
if (tmp != Qtrue)
......
......@@ -92,12 +92,12 @@ static VALUE kgio_wait_writable(int argc, VALUE *argv, VALUE self)
VALUE kgio_call_wait_writable(VALUE io)
{
return rb_funcall(io, id_wait_wr, 0, 0);
return rb_funcall(io, id_wait_wr, 0);
}
VALUE kgio_call_wait_readable(VALUE io)
{
return rb_funcall(io, id_wait_rd, 0, 0);
return rb_funcall(io, id_wait_rd, 0);
}
void init_kgio_wait(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment