Date | Commit message (Collapse) |
|
There are many internal cleanups, bugfixes, and incompatible
API changes. The API will probably be stable from now on.
All the flag passing is less verbose, in the past you had
to do:
tfd = TimerFD.new(TimerFD::CLOEXEC|TimerFD::NONBLOCK)
Now, you can just do (the old way still works):
tfd = TimerFD.new([:CLOEXEC, :NONBLOCK])
A SignalFD interface now exists, but is not recommended since
MRI signal handling seems to conflict with it.
Inotify#close no longer holds the GVL while closing the
descriptor since it is an expensive operation.
See git log v1.4.0..v2.0.0 for all the gory details.
|
|
|
|
close(2) on inotify descriptors takes forever and a day.
|
|
This is useful for processing events in a synchronous fashion,
we think...
|
|
"in" is a keyword in Ruby and unusable as a local variable
|
|
|
|
|
|
I know of no other way to support them in Ruby
|
|
Instead, allow a nonblock flag to be passed to
EventFD#incr and EventFD#value so it matches other
interfaces.
|
|
Just like Inotify#take
|
|
|
|
|
|
Not that it works well...
|
|
Avoids using select(2) if we want blocking functionality on
Ruby 1.9.
|
|
They could be useful for other projects.
|
|
Just reuse 1.9 methods
|
|
Not needed for most cases.
|
|
Never used anywhere
|
|
No need to repeat it and bloat ourselves.
|
|
Oops, it was never wired up.
|
|
None of our business.
|
|
Might as well, since it forces me to understand these
interfaces, too :)
|
|
Still doesn't work under 1.8, oh well :<
|
|
Arguments now take symbols and arrays of symbols just like the
SignalFD.new method. This fixes some use of signed vs unsigned
integer conversions as well.
|
|
Bad idea to rely on constants
|
|
This modifies an existing SignalFD.
|
|
For consistency with the inotify interface
|
|
Better than failing.
|
|
Even though it matches timerfd_create(), TimerFD.new is
more consistent with the rest of the library.
|
|
|
|
This will fail on '\0' bytes since it's an illegal path
character.
|
|
It's only working for Ruby 1.9 right now.
|
|
Taking a hint from EM :)
|
|
Oops :X
|
|
We could go C-only
|
|
* Epoll#wait: do not automatically retry on EINTR
* preliminary Inotify support
* Epoll.new no longer defaults to close-on-exec
TODO: FANotify + SignalFD
|
|
The fscking all notification system!
|
|
wrongdoc 1.5 is nicer
|
|
We do not want to share buffers between inotify descriptors.
|
|
No need to differ from other file descriptors, even though
it would be better if *all* file descriptors would default to
O_CLOEXEC.
|
|
The latest Rubinius supports both of these as do all MRI
|
|
This can avoid confusion/conflicts in case we link with newer
versions that have the missing symbols.
|
|
It seems to basically work...
|
|
Harmless, but still
|
|
Oops :x This changes/fixes some minor misbehavior.
|
|
It's often used to drive event loops and EINTR should be
retried by the user (like IO.select and not like
IO#read_nonblock).
|
|
Config is deprecated
|
|
This makes life easier for the wrongdoc package itself
|
|
|
|
One bugfix for Epoll#delete:
Eric Wong (1):
safer closed checks for proxied objects
|