sleepy_penguin RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [sleepy.penguin] [PATCH 0/17] kqueue and epoll fixes
@ 2013-04-30  2:39  6% Eric Wong
  2013-04-30  2:39  7% ` [sleepy.penguin] [PATCH 07/17] test_timerfd: relax timing-sensitive test Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2013-04-30  2:39 UTC (permalink / raw)
  To: sleepy.penguin

I'm slowly fleshing out kqueue support and also fixing some
timing-related bugs in the test suite.  kqueue support is
tested on FreeBSD 9.1

The kqueue code should also be compatible with Rubinius,
(tested against the stable libkqueue branch under Linux)

(diffstat against "master")

 ext/sleepy_penguin/epoll.c          |  15 +-
 ext/sleepy_penguin/extconf.rb       |   6 +-
 ext/sleepy_penguin/init.c           |  11 +
 ext/sleepy_penguin/kqueue.c         | 643 ++++++++++++++++++++++++++++++++++++
 ext/sleepy_penguin/sleepy_penguin.h |  12 +
 ext/sleepy_penguin/value2timespec.h |   2 +-
 lib/sleepy_penguin.rb               |   1 -
 lib/sleepy_penguin/epoll.rb         |  53 +--
 lib/sleepy_penguin/kevent.rb        |   3 +
 lib/sleepy_penguin/kqueue.rb        | 115 +++++++
 lib/sleepy_penguin/kqueue/io.rb     |  30 ++
 pkg.mk                              |   2 +-
 test/test_epoll.rb                  |  89 +++--
 test/test_epoll_io.rb               |   3 +-
 test/test_epoll_optimizations.rb    |   1 -
 test/test_inotify.rb                |   2 +-
 test/test_kqueue.rb                 |  75 +++++
 test/test_kqueue_io.rb              | 107 ++++++
 test/test_timerfd.rb                |   4 +-
 19 files changed, 1078 insertions(+), 96 deletions(-)

Eric Wong (17):
      test_epoll: remove assert_nothing_raised
      test: remove Rubinius-specific checks and skips
      test_epoll: avoid sleeping inside a signal handler
      fork-safe "to_io" in high-level epoll/kqueue
      test_kqueue: join thread after test
      test_kqueue_io: test for multiple event return
      test_timerfd: relax timing-sensitive test
      kqueue: set zero timeout if not retrieving events
      test_epoll: workaround MRI 1.8 threading bug
      test_kqueue_io: join thread in test when done using
      test_kqueue: only test if IO#autoclose= exists
      kqueue/io: fix MRI 1.8 support code for event retrieval
      kqueue: workaround lack of RSTRUCT* macros on Rubinius
      test_epoll: join thread before return from test
      test_epoll: increase delay between signal spamming
      epoll: clear FD marks snapshot before returning
      test_epoll: workaround race condition in test_close


^ permalink raw reply	[relevance 6%]

* [sleepy.penguin] [PATCH 07/17] test_timerfd: relax timing-sensitive test
  2013-04-30  2:39  6% [sleepy.penguin] [PATCH 0/17] kqueue and epoll fixes Eric Wong
@ 2013-04-30  2:39  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2013-04-30  2:39 UTC (permalink / raw)
  To: sleepy.penguin

This test failed on overloaded systems (and may still fail)
Unfortunately timers are hard to test as system latency
must be taken into account.
---
 test/test_timerfd.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/test_timerfd.rb b/test/test_timerfd.rb
index e8dc321..81aa6d3 100644
--- a/test/test_timerfd.rb
+++ b/test/test_timerfd.rb
@@ -65,9 +65,9 @@ def test_gettime
 
   def test_expirations_nonblock
     tfd = TimerFD.new(:MONOTONIC)
-    assert_equal([0, 0], tfd.settime(0, 0, 0.01))
+    assert_equal([0, 0], tfd.settime(0, 0, 0.05))
     assert_nil tfd.expirations(true)
-    sleep 0.01
+    sleep 0.05
     assert_equal 1, tfd.expirations
   end
 end if defined?(SleepyPenguin::TimerFD)
-- 
1.8.2.1.367.gc875ca7



^ permalink raw reply related	[relevance 7%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2013-04-30  2:39  6% [sleepy.penguin] [PATCH 0/17] kqueue and epoll fixes Eric Wong
2013-04-30  2:39  7% ` [sleepy.penguin] [PATCH 07/17] test_timerfd: relax timing-sensitive test Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/sleepy_penguin.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).