about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2013-05-03 01:12:14 +0000
committerEric Wong <normalperson@yhbt.net>2013-05-03 01:12:14 +0000
commit33985d31bd01b32f6264ec7d87f40dcbb0c924be (patch)
tree24c65cb0135e545decbb3f021b4f63db7865720a
parent1ba2600636f9080792408e134acc4c8f226d0930 (diff)
downloadsleepy_penguin-33985d31bd01b32f6264ec7d87f40dcbb0c924be.tar.gz
The underlying kevent() itself already bypasses the timeout
if nevents==0 (so it is impossible to emulate a sleep function
with kevent()).
-rw-r--r--ext/sleepy_penguin/kqueue.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/sleepy_penguin/kqueue.c b/ext/sleepy_penguin/kqueue.c
index e7d1deb..59c3dae 100644
--- a/ext/sleepy_penguin/kqueue.c
+++ b/ext/sleepy_penguin/kqueue.c
@@ -365,14 +365,13 @@ static VALUE sp_kevent(int argc, VALUE *argv, VALUE self)
                         rb_raise(rb_eArgError,
                                 "block given but nevents not specified");
                 nevents = NUM2INT(events);
-                if (nevents <= 0)
-                        rb_raise(rb_eArgError, "nevents must be positive");
+                if (nevents < 0)
+                        rb_raise(rb_eArgError, "nevents must be non-negative");
         } else {
                 if (!NIL_P(events))
                         rb_raise(rb_eArgError,
                                 "nevents specified but block not given");
                 nevents = 0;
-                timeout = INT2FIX(0);
         }
 
         kpt = kpt_get(self, nchanges, nevents);