* [ANN] sleepy_penguin 3.5.0 - Linux I/O events (and more) for Ruby
@ 2017-03-22 7:27 7% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2017-03-22 7:27 UTC (permalink / raw)
To: ruby-talk, sleepy-penguin
sleepy_penguin provides access to newer, Linux-only system calls to wait
on events from traditionally non-I/O sources. Bindings to the eventfd,
timerfd, inotify, and epoll interfaces are provided. Experimental support
for kqueue on FreeBSD (and likely OpenBSD/NetBSD) is also provided.
* homepage: https://bogomips.org/sleepy_penguin/
* git clone git://bogomips.org/sleepy_penguin.git
* Atom feed: https://bogomips.org/sleepy_penguin/NEWS.atom.xml
* mailing list: sleepy-penguin@bogomips.org
* mail archives: https://bogomips.org/sleepy-penguin/
nntp://news.public-inbox.org/inbox.comp.lang.ruby.sleepy-penguin
https://bogomips.org/sleepy-penguin/new.atom
Changes:
sleepy_penguin 3.5.0
Most notably, kevent and epoll_wait wrappers are now
nestable, so you can write your own event loops inside
somebody elses event loop (not that it's a good idea,
but hey, that's reality, sometimes).
https://bogomips.org/sleepy_penguin/SleepyPenguin/Kqueue.html#method-i-kevent
https://bogomips.org/sleepy_penguin/SleepyPenguin/Epoll.html#method-i-wait
For Linux users, there is now copy_file_range(2) support
for copying regular files:
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#method-c-copy_file_range
There is also a new sendfile wrapper which emulates Linux
sendfile behavior regardless of platform. It will use the
native sendfile(2) syscall on FreeBSD and Linux, at least.
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#method-c-linux_sendfile
Wrappers for the splice(2) and tee(2) syscalls also exist for
Linux users (vmsplice(2) is omitted):
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#method-c-splice
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#method-c-tee
Along with some related constants:
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#F_GETPIPE_SZ
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#F_SETPIPE_SZ
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#F_MORE
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#F_MOVE
https://bogomips.org/sleepy_penguin/SleepyPenguin.html#F_NONBLOCK
In other words, this release merges the useful parts of the old
"io_splice" RubyGem: https://bogomips.org/ruby_io_splice/
Linux 4.5+ epoll users also get EPOLLEXCLUSIVE along existing
constants:
https://bogomips.org/sleepy_penguin/SleepyPenguin/Epoll.html#EXCLUSIVE
Ruby 1.8 and 1.9 support are both gone, Ruby 2.0.0+ is required
for keyword args, now(*).
31 changes since 3.4.1:
README: fix wording: are => is
TODO: add memfd item
epoll: allow :CLOEXEC instead of the long constant
note the epoll/io.rb file is only for Ruby 1.8
support the splice(2) and tee(2) syscalls
implement copy_file_range support for Linux 4.5+
doc: various URL updates (https)
unify rb_gc() handling for out-of-FD conditions
splice: clarification regarding tee() flags
pkg.mk: various updates from other projects
copy_file_range: use correct syscall numbers on x86/x86-64
new API for splice and tee
doc: remove references to IO#pipe_size accessor
remove PIPE_BUF constant definition
copy_file_range: move wrapper to Ruby for keyword arg handling
gemspec: use SPDX-compatible license specifier
implement linux_sendfile support
portability fixes for systems w/o splice, copy_file_range
tests: switch to test-unit
free buffer if pthread_setspecific fails
allow nestable TLS buffers within the same thread
drop unused Ruby 1.8 support code
epoll: add newline to Kernel#warn messages for atomicity
favor require_relative over require
epoll: add EPOLLEXCLUSIVE constant and documentation
kqueue: remove IO#autoclose= and 1.8-related checks
sp_copy: remove dummy 1.8 code for non-native threaded Ruby
build: remove build-time olddoc dependency
copy_file_range: add documentation
doc: tests and examples for changing pipe size in Linux
doc: avoid incorrect links to Epoll::IO
(*) Even ruby 2.1 is unsupported by ruby-core upstream;
but I could be prodded to re-add 1.9.3 support if
somebody really wants it...
^ permalink raw reply [relevance 7%]
* [PATCH] doc: various URL updates (https)
@ 2017-01-02 3:43 5% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2017-01-02 3:43 UTC (permalink / raw)
To: sleepy-penguin; +Cc: Eric Wong
HTTPS provides some degree of additional security. We'll also
document our NNTP mail archive mirror, too.
Additionally, this places some additional load on our yahns
instance running bogomips.org, meaning additional testing
for sleepy_penguin :)
---
.olddoc.yml | 7 +++----
LICENSE | 6 +++---
README | 9 ++++++---
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/.olddoc.yml b/.olddoc.yml
index 8771176..000bcb1 100644
--- a/.olddoc.yml
+++ b/.olddoc.yml
@@ -1,7 +1,6 @@
---
-cgit_url: http://bogomips.org/sleepy_penguin.git
+cgit_url: https://bogomips.org/sleepy_penguin.git
git_url: git://bogomips.org/sleepy_penguin.git
-rdoc_url: http://bogomips.org/sleepy_penguin/
-ml_url: http://bogomips.org/sleepy-penguin/
-private_email: bofh@bogomips.org
+rdoc_url: https://bogomips.org/sleepy_penguin/
+ml_url: https://bogomips.org/sleepy-penguin/
public_email: sleepy-penguin@bogomips.org
diff --git a/LICENSE b/LICENSE
index 6d500dc..d720c63 100644
--- a/LICENSE
+++ b/LICENSE
@@ -3,8 +3,8 @@ logs in revision control for names and email addresses of all of them.
You can redistribute it and/or modify it under the terms of the GNU
Lesser General Public License (LGPL) as published by the Free Software
-Foundation, version {2.1}[http://www.gnu.org/licenses/lgpl-2.1.txt] or
-(at your option) any later version.
+Foundation, version {2.1}[https://www.gnu.org/licenses/lgpl-2.1.txt]
+or (at your option) any later version.
sleepy_penguin is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -12,4 +12,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
-along with this library; if not, see http://www.gnu.org/licenses/
+along with this library; if not, see https://www.gnu.org/licenses/
diff --git a/README b/README
index 3ab42e8..a9984d5 100644
--- a/README
+++ b/README
@@ -31,7 +31,7 @@ If you use RubyGems:
Otherwise grab the latest tarball from:
-http://bogomips.org/sleepy_penguin/files/
+https://bogomips.org/sleepy_penguin/files/
Unpack it, and run "ruby setup.rb"
@@ -45,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/sleepy_penguin.git (cgit)
+* https://bogomips.org/sleepy_penguin.git
* http://repo.or.cz/w/sleepy_penguin.git (gitweb)
Inline patches (from "git format-patch") to the mailing list are
@@ -62,4 +62,7 @@ don't email the git mailing list or maintainer with sleepy_penguin patches.
All feedback (bug reports, user/development discussion, patches, pull
requests) go to the mailing list: mailto:sleepy-penguin@bogomips.org
-* Mailing list archives: http://bogomips.org/sleepy-penguin/
+* Mailing list archives: https://bogomips.org/sleepy-penguin/
+
+* Also available over NNTP:
+ nntp://news.public-inbox.org/inbox.comp.lang.ruby.sleepy-penguin
--
EW
^ permalink raw reply related [relevance 5%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2017-01-02 3:43 5% [PATCH] doc: various URL updates (https) Eric Wong
2017-03-22 7:27 7% [ANN] sleepy_penguin 3.5.0 - Linux I/O events (and more) for Ruby Eric Wong
Code repositories for project(s) associated with this public inbox
https://yhbt.net/sleepy_penguin.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).