diff options
author | Eric Wong <normalperson@yhbt.net> | 2015-06-05 09:22:04 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2015-06-05 17:12:28 +0000 |
commit | 49675b05f98a491953e5424fd8215773865ccb89 (patch) | |
tree | 8404240a5994c7a2f35edaeb4c030f480c1963ef | |
parent | b0f45312f50e7bfc112d7d4ba05ddfd5e3b1b4b4 (diff) | |
download | sleepy_penguin-49675b05f98a491953e5424fd8215773865ccb89.tar.gz |
The long constant name conveys no additional info. Since epoll_create1 is rarely called, and a cache lookup for cold code is wasfeful
-rw-r--r-- | ext/sleepy_penguin/epoll.c | 2 | ||||
-rw-r--r-- | test/test_epoll.rb | 7 | ||||
-rw-r--r-- | test/test_epoll_io.rb | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/ext/sleepy_penguin/epoll.c b/ext/sleepy_penguin/epoll.c index 423ed69..120af0c 100644 --- a/ext/sleepy_penguin/epoll.c +++ b/ext/sleepy_penguin/epoll.c @@ -82,7 +82,7 @@ static struct ep_per_thread *ept_get(VALUE self, int maxevents) static VALUE s_new(VALUE klass, VALUE _flags) { int default_flags = RB_SP_CLOEXEC(EPOLL_CLOEXEC); - int flags = rb_sp_get_flags(klass, _flags, default_flags); + int flags = rb_sp_get_flags(cEpoll, _flags, default_flags); int fd = epoll_create1(flags); VALUE rv; diff --git a/test/test_epoll.rb b/test/test_epoll.rb index 61b6e8c..48dd0ad 100644 --- a/test/test_epoll.rb +++ b/test/test_epoll.rb @@ -343,6 +343,13 @@ class TestEpoll < Testcase @ep.close io = Epoll.new(Epoll::CLOEXEC).to_io assert((io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC) == Fcntl::FD_CLOEXEC) + io.close + + # prettier, slower, but more memory efficient due to lack of caching + # due to the constant cache: + io = Epoll.new(:CLOEXEC).to_io + + assert((io.fcntl(Fcntl::F_GETFD) & Fcntl::FD_CLOEXEC) == Fcntl::FD_CLOEXEC) end def test_new diff --git a/test/test_epoll_io.rb b/test/test_epoll_io.rb index 56a3808..5452de1 100644 --- a/test/test_epoll_io.rb +++ b/test/test_epoll_io.rb @@ -23,7 +23,7 @@ class TestEpollIO < Testcase class EpSub < Epoll::IO def self.new - super(SleepyPenguin::Epoll::CLOEXEC) + super(:CLOEXEC) end end |