about summary refs log tree commit homepage
DateCommit message (Collapse)
2011-01-13sleepy_penguin 1.1.1 - soft feathers, soft delete v1.1.1
SleepyPenguin::Epoll#delete method added for "soft" failures Documentation updates and cleanups, the website is now JavaScript-free! (Ignore the 1.1.0 "release", it was a lie)
2011-01-13packaging fixups, oops
Ugh, release got fat-fingered :<
2011-01-13sleepy_penguin 1.1.0 - soft feathers, soft delete
SleepyPenguin::Epoll#delete method added for "soft" failures Documentation updates and cleanups, the website is now JavaScript-free!
2011-01-13epoll: add "delete" for soft failures
No need to burden applications.
2011-01-13minor doc updates, use wrongdoc
Switch documentation over to wrongdoc, no more JavaScript! Our documentation still sucks.
2011-01-13test_epoll: redundant, redefined method, oops!
2011-01-13extconf.rb: remove unnecessary dir_config
We do not depend on external libraries other than the system C library
2010-09-27README: update summary
It seems to make more sense this way... Editors wanted :)
2010-09-26update documentation and build v1.0.0
Should be ready for release
2010-09-26test_epoll: workaround less aggressive GC in rbx
Some of the GC tests aren't realistic, but if they work in MRI then we can expect them to work reasonably well everywhere.
2010-09-26provide rb_io_close() for Rubinius
Rubinius 1.1.1 does not include this function ref: http://github.com/evanphx/rubinius/issues/497
2010-09-26epoll: fix typo for rb_memerror()
Tested on Rubinius.
2010-09-26misc documentation updates
We shall release without SignalFD support
2010-09-26wire up EventFD class
This wraps the eventfd(2) interface of Linux. Like TimerFD, it is not available on older distributions.
2010-09-26add TimerFD class
This wraps the timerfd_* interface in the Linux kernel. It is not available on older distributions.
2010-09-26epoll: add cross-thread test/example
This can potentially be very powerful under 1.9 with native threads
2010-09-26epoll: fix MRI 1.8 build
It was just st.h in the old days.
2010-09-26Epoll#dup and Epoll#clone inherit close-on-exec
There can be ways (in the future) where supporting Epoll#dup/Epoll#clone can proveuseful, so continue to support them until proven otherwise.
2010-09-26simplify epoll_create1 wrapper
There are no FD flags besides FD_CLOEXEC, so there's no point in making an extra fcntl() call.
2010-09-26epoll: add fork protection
It's dangerous to preserve epoll descriptors across fork, especially in Ruby where the GC can invalidate objects at any time. Installing pthread_atfork hooks prevents VALUE references stored in the kernel from leaking across process boundaries, making it far more difficult for a sanely written application to leak invalid VALUEs to the user.
2010-09-25Epoll#del only takes one argument
We don't have to emulate the C API exactly, and it makes life saner/easier for our users.
2010-09-25epoll: factor out event data packing/unpacking
Storing Ruby object values in the kernel means they won't be visible to the GC, but for the most part it's safe.
2010-09-25tests for EPOLLET and EINPROGRESS
Just to make sure edge-triggering works on newly created TCP connections.
2010-08-21extconf: enable detection of {timer,signal,event}fd.h
2010-08-21README: clarify that we're a Ruby library
2010-08-21initial - epoll support working