Date | Commit message (Collapse) |
|
Documentation updates to switch bogomips.org to yhbt.net since
the .org TLD won't be affordable in the near future. There's
also a few warning fixes and such.
|
|
bogomips.org is due to expire, soon, and I'm not willing to pay
extortionists at Ethos Capital/PIR/ICANN to keep a .org. So
it's at yhbt.net, for now... Identity is overrated.
|
|
This release fixes some minor things for kqueue and clang
users. Not much going on... *yawn*
6 changes since v3.5.0 (2017-03-22):
kqueue: ensure close-on-exec flag is set
kqueue: modernize Struct usage for Ruby 2.5.0dev
fix 64-to-32-bit truncation warning
kqueue: get rid of unused variable warnings
epoll: avoid reduce block capture and ivar requests
doc: use HTTPS URLS when possible
|
|
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
|
|
This should make it easier for distros to pick this
up without picking up olddoc, too.
We will still use olddoc for generating the website since it
reduces bandwidth costs, and for generating NEWS for our own
builds.
|
|
Ruby 1.8 is long dead and we already broke 1.9 support by using
keyword args for splice, sendfile, and copy_file_range support.
|
|
test-unit has fewer incompatible changes over the years
than minitest; and minitest seems open to making future
incompatible changes... Nope.
I value API stability more and more as I (and this project)
ages.
|
|
This makes it easier for automated checkers to check our license.
|
|
Old wrongdoc cruft, not used in olddoc.
|
|
Oops, I got mixed up with another project and apparently
I did port this over to use minitest. Anyways I don't care
much either way.
|
|
This is still installed by Ruby, but in case one day it isn't,
we'll be ready.
|
|
In case I'm hit by a bus before the FSF releases the LGPLv4,
users may choose to use any newer version of the LGPL.
|
|
The public-inbox + mlmmj setup on bogomips.org allows posting
without subscription and offers downloadable archives via git.
The lack of rsyncable archives on librelist nowadays and
subscription-required nature of librelist are points against it.
Repliers are now encouraged to Cc: all recipients (using the
reply-all function of their mail client) since many readers are
not subscribed.
This project has never accepted or encouraged HTML email, but
librelist accepted it. The bogomips.org mail server is
configured to treat HTML mail as spam, so do not send HTML mail
if you expect a response.
Users who wish to subscribe may send a message to:
sleepy-penguin+subscribe@bogomips.org
Similarly, they may unsubscribe via:
sleepy-penguin+unsubscribe@bogomips.org
HTTP archives are available via:
http://bogomips.org/sleepy-penguin/
ssoma users may also use: git://bogomips.org/sleepy-penguin
(see README change)
Old messages to the librelist addresses will continue to
get routed to the new mailing list.
ref: http://public-inbox.org/
|
|
wrongdoc was difficult to maintain because of the tidy-ffi
dependency and the HTML5 changes in Darkfish could not be
handled well by Tidy.
olddoc is superior as it generates leaner HTML which loads faster,
requires less scrolling and less processing power to render.
Aesthetic comparisons are subjective of course but completely
unimportant compared to speed and accessibility.
The presence of images and CSS on the old (Darkfish-based) site
probably set unreasonable expectations as to my ability and
willingness to view such things. No more, the new website is
entirely simple HTML which renders well with even the wimpiest
browser (hell, olddoc even tries to generate readable raw HTML).
ref: http://80x24.org/olddoc/
|
|
require_paths and date are automatically set in modern RubyGems
versions. Since we only use modern RubyGems versions, the
licenses= accessor is also activated.
Since the FSF may change mailing addresses again in the future,
prefer the web address to point to licenses. This change is
acceptable for GNU projects, so it should be for us, too:
http://sourceware.org/bugzilla/show_bug.cgi?id=13673
|
|
Neither we nor librelist are commercial projects, so use
the TLD preferred for non-profit entities.
|
|
wrongdoc 1.5 is nicer
|
|
Trying to be DRY, but we're sleepy and drool a lot
|
|
We can have simplify user code by caching flags and using
the GC mark array to avoid syscalls and unnecessary
errors/exceptions.
|
|
Ugh, release got fat-fingered :<
|
|
Switch documentation over to wrongdoc, no more JavaScript!
Our documentation still sucks.
|
|
Should be ready for release
|