Release Name: 1.0.0
Notes:
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, and epoll interfaces are provided.
* http://bogomips.org/sleepy_penguin/
* sleepy.penguin@librelist.com
* git://git.bogomips.org/sleepy_penguin.git
Changes:
Initial release
Changes:
commit 97e9a7e764f912fddea75409dd388eaf3abe6a73
Author: Eric Wong
Date: Sun Sep 26 06:29:09 2010 +0000
update documentation and build
Should be ready for release
commit 29bbb053277e9c054f1433c66a2e83ada44a5e8d
Author: Eric Wong
Date: Sun Sep 26 06:01:23 2010 +0000
test_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.
commit 43124e76e219d0be968fdeb09f6389d6895b0caf
Author: Eric Wong
Date: Sun Sep 26 06:00:10 2010 +0000
provide rb_io_close() for Rubinius
Rubinius 1.1.1 does not include this function
ref: http://github.com/evanphx/rubinius/issues/497
commit f3fd4447b650e75f48ac0fb9bada9b411c4b89cd
Author: Eric Wong
Date: Sun Sep 26 05:50:24 2010 +0000
epoll: fix typo for rb_memerror()
Tested on Rubinius.
commit 63b5fa10ae2f196f392bc6a9360ed2343215ce78
Author: Eric Wong
Date: Sun Sep 26 04:00:30 2010 +0000
misc documentation updates
We shall release without SignalFD support
commit 1ad58cb0fd9045b8fa26b85d68ddf2eb06827dd3
Author: Eric Wong
Date: Thu Sep 23 05:25:54 2010 +0000
wire up EventFD class
This wraps the eventfd(2) interface of Linux. Like TimerFD, it
is not available on older distributions.
commit 2d5886698c3f7241ab23771c2876b985708ded40
Author: Eric Wong
Date: Mon Sep 20 16:49:57 2010 +0000
add TimerFD class
This wraps the timerfd_* interface in the Linux kernel.
It is not available on older distributions.
commit 4a9ce0319f6e0250c4a8e01284fd5684936bde21
Author: Eric Wong
Date: Sun Sep 26 03:49:14 2010 +0000
epoll: add cross-thread test/example
This can potentially be very powerful under 1.9
with native threads
commit 96dad9948d3a7b181d50a9fcb35320677edc352b
Author: Eric Wong
Date: Sun Sep 26 03:48:50 2010 +0000
epoll: fix MRI 1.8 build
It was just st.h in the old days.
commit a226d237666728ea9242f6079b2c76528d53cdb2
Author: Eric Wong
Date: Sun Sep 26 02:46:51 2010 +0000
Epoll#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.
commit 3ca3a23d3e68f62af6d57cf22825b2751c226fff
Author: Eric Wong
Date: Sun Sep 26 02:12:15 2010 +0000
simplify epoll_create1 wrapper
There are no FD flags besides FD_CLOEXEC, so
there's no point in making an extra fcntl()
call.
commit 43153f218e14cad3a2c6f4056fcf02dc49dc4b36
Author: Eric Wong
Date: Sun Sep 26 01:41:47 2010 +0000
epoll: 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.
commit 81d66a794338e241e00b9ffd66fc94b80064475d
Author: Eric Wong
Date: Sat Sep 25 20:32:32 2010 +0000
Epoll#del only takes one argument
We don't have to emulate the C API exactly, and it
makes life saner/easier for our users.
commit bc4aaf4afdfb42ad5cc5e0729f816fbefb3d338e
Author: Eric Wong
Date: Sat Sep 25 20:08:18 2010 +0000
epoll: 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.
commit 6296604742ed27ede171dad28f7d2bec2092d122
Author: Eric Wong
Date: Sat Sep 25 19:27:09 2010 +0000
tests for EPOLLET and EINPROGRESS
Just to make sure edge-triggering works on newly
created TCP connections.
commit e9e91bd9b9c571e9f3374a4b5aa44573f60c3d32
Author: Eric Wong
Date: Sat Aug 21 09:00:57 2010 +0000
extconf: enable detection of {timer,signal,event}fd.h
commit 7f841e560fae9406192994df352bfb902b2ebbe8
Author: Eric Wong
Date: Sat Aug 21 09:00:42 2010 +0000
README: clarify that we're a Ruby library
commit 133a7dad4b2179093e5bbb7db6db6c31a51817b7
Author: Eric Wong
Date: Sat Aug 21 08:44:08 2010 +0000
initial - epoll support working
|