about summary refs log tree commit homepage
path: root/ext/sleepy_penguin/signalfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sleepy_penguin/signalfd.c')
-rw-r--r--ext/sleepy_penguin/signalfd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/sleepy_penguin/signalfd.c b/ext/sleepy_penguin/signalfd.c
index 511745c..ebd6c86 100644
--- a/ext/sleepy_penguin/signalfd.c
+++ b/ext/sleepy_penguin/signalfd.c
@@ -44,11 +44,11 @@ static void value2sigset(sigset_t *mask, VALUE set)
         switch (TYPE(set)) {
         case T_NIL: return;
         case T_ARRAY: {
-                VALUE *ptr = RARRAY_PTR(set);
+                long i;
                 long len = RARRAY_LEN(set);
 
-                while (--len >= 0)
-                        sigaddset(mask, sig2int(*ptr++));
+                for (i = 0; i < len; i++)
+                        sigaddset(mask, sig2int(rb_ary_entry(set, i)));
                 }
                 break;
         default: