io-event 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2df9208cf2ad89251afc206b4c3e2c9be1385db65b6723238bc00350ef19e4f5
4
- data.tar.gz: d4e487b9004f5c44be24d548a0eb35614b652e1782186748f3ead31e2755d0b4
3
+ metadata.gz: 42c3a881e6ec0701f4801997d37fb0db726b8be237113e1d18216124b3780696
4
+ data.tar.gz: bed05a684ba79871945e6d89752dafb39a04d46e1423bc22736f270995c6777a
5
5
  SHA512:
6
- metadata.gz: 80c84b174c3adbc88004e02d451f01016e5c4ac2ca1e0fc1a7b75b49922078de4c16816fe4685e5ab79c1bfb1816eb2dcf61cb513f9637b0f153d76ad538816d
7
- data.tar.gz: 50845ffdb59deb510caaaf94e8a62ef64729e5a69a31b57621d022f1186dc8c68d14ca4a0d20b3413716c0aa8e547c085627aa6d1f45371681d445d9a63ef95a
6
+ metadata.gz: cf07851ef3309a9dc0d8dde93f4ef7f7ccab6c5757ddae1d713cccca5f3b3990d167c83847f991752a4c2627895404aebc4d605287a6e2db7cf44e5176f0205b
7
+ data.tar.gz: b5aa5dabb62b5ca20e0feb6918e5f6683a0e234fcda431ff527cf884c4d0aacc026f60c534fd66a07fe963bb4acee802bd93f355aec98d96cccdd47e0aafb8af
data/ext/IO_Event.so ADDED
Binary file
data/ext/Makefile CHANGED
@@ -12,12 +12,12 @@ NULLCMD = :
12
12
  #### Start of system configuration section. ####
13
13
 
14
14
  srcdir = .
15
- topdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0
15
+ topdir = /home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0
16
16
  hdrdir = $(topdir)
17
- arch_hdrdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21
17
+ arch_hdrdir = /home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux
18
18
  PATH_SEPARATOR = :
19
19
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir)/io/event:$(srcdir)/io/event/selector
20
- prefix = $(DESTDIR)/Users/samuel/.rubies/ruby-3.0.3
20
+ prefix = $(DESTDIR)/home/samuel/.rubies/ruby-3.0.3
21
21
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
22
  rubyarchprefix = $(rubylibprefix)/$(arch)
23
23
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -50,7 +50,7 @@ dvidir = $(docdir)
50
50
  htmldir = $(docdir)
51
51
  infodir = $(datarootdir)/info
52
52
  docdir = $(datarootdir)/doc/$(PACKAGE)
53
- oldincludedir = $(SDKROOT)/usr/include
53
+ oldincludedir = $(DESTDIR)/usr/include
54
54
  includedir = $(prefix)/include
55
55
  runstatedir = $(localstatedir)/run
56
56
  localstatedir = $(prefix)/var
@@ -65,12 +65,12 @@ archdir = $(rubyarchdir)
65
65
 
66
66
 
67
67
  CC_WRAPPER =
68
- CC = clang -fdeclspec
69
- CXX = clang++ -fdeclspec
68
+ CC = gcc
69
+ CXX = g++
70
70
  LIBRUBY = $(LIBRUBY_A)
71
71
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
72
- LIBRUBYARG_SHARED =
73
- LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework Security -framework Foundation $(MAINLIBS)
72
+ LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir)
73
+ LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
74
74
  empty =
75
75
  OUTFLAG = -o $(empty)
76
76
  COUTFLAG = -o $(empty)
@@ -81,31 +81,31 @@ cflags = $(optflags) $(debugflags) $(warnflags)
81
81
  cxxflags =
82
82
  optflags = -O3
83
83
  debugflags = -ggdb3
84
- warnflags = -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens
84
+ warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable
85
85
  cppflags =
86
- CCDLFLAGS = -fno-common
87
- CFLAGS = $(CCDLFLAGS) $(cflags) -pipe -Wall $(ARCH_FLAG)
86
+ CCDLFLAGS = -fPIC
87
+ CFLAGS = $(CCDLFLAGS) $(cflags) -Wall $(ARCH_FLAG)
88
88
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
89
89
  DEFS =
90
- CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
90
+ CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" $(DEFS) $(cppflags)
91
91
  CXXFLAGS = $(CCDLFLAGS) $(ARCH_FLAG)
92
- ldflags = -L. -fstack-protector-strong -L/opt/local/lib
93
- dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/local/lib
94
- ARCH_FLAG = -m64
92
+ ldflags = -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic
93
+ dldflags = -Wl,--compress-debug-sections=zlib
94
+ ARCH_FLAG =
95
95
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
96
- LDSHARED = $(CC) -dynamic -bundle
97
- LDSHAREDXX = $(CXX) -dynamic -bundle
98
- AR = ar
96
+ LDSHARED = $(CC) -shared
97
+ LDSHAREDXX = $(CXX) -shared
98
+ AR = gcc-ar
99
99
  EXEEXT =
100
100
 
101
101
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
102
- RUBY_SO_NAME = ruby.3.0
102
+ RUBY_SO_NAME = ruby
103
103
  RUBYW_INSTALL_NAME =
104
104
  RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
105
105
  RUBYW_BASE_NAME = rubyw
106
106
  RUBY_BASE_NAME = ruby
107
107
 
108
- arch = arm64-darwin21
108
+ arch = x86_64-linux
109
109
  sitearch = $(arch)
110
110
  ruby_version = 3.0.0
111
111
  ruby = $(bindir)/$(RUBY_BASE_NAME)
@@ -114,9 +114,9 @@ ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h
114
114
 
115
115
  RM = rm -f
116
116
  RM_RF = $(RUBY) -run -e rm -- -rf
117
- RMDIRS = rmdir -p
118
- MAKEDIRS = /opt/local/bin/gmkdir -p
119
- INSTALL = /opt/local/bin/ginstall -c
117
+ RMDIRS = rmdir --ignore-fail-on-non-empty -p
118
+ MAKEDIRS = /usr/bin/mkdir -p
119
+ INSTALL = /usr/bin/install -c
120
120
  INSTALL_PROG = $(INSTALL) -m 0755
121
121
  INSTALL_DATA = $(INSTALL) -m 644
122
122
  COPY = cp
@@ -125,8 +125,8 @@ TOUCH = exit >
125
125
  #### End of system configuration section. ####
126
126
 
127
127
  preload =
128
- libpath = . $(libdir) /opt/local/lib
129
- LIBPATH = -L. -L$(libdir) -L/opt/local/lib
128
+ libpath = . $(libdir)
129
+ LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir)
130
130
  DEFFILE =
131
131
 
132
132
  CLEANFILES = mkmf.log
@@ -137,16 +137,16 @@ extout =
137
137
  extout_prefix =
138
138
  target_prefix =
139
139
  LOCAL_LIBS =
140
- LIBS =
140
+ LIBS = -luring -lm -lc
141
141
  ORIG_SRCS =
142
- SRCS = $(ORIG_SRCS) event.c selector.c kqueue.c interrupt.c
143
- OBJS = event.o selector.o kqueue.o interrupt.o
142
+ SRCS = $(ORIG_SRCS) event.c selector.c uring.c epoll.c interrupt.c
143
+ OBJS = event.o selector.o uring.o epoll.o interrupt.o
144
144
  HDRS = $(srcdir)/extconf.h
145
145
  LOCAL_HDRS =
146
146
  TARGET = IO_Event
147
147
  TARGET_NAME = IO_Event
148
148
  TARGET_ENTRY = Init_$(TARGET_NAME)
149
- DLLIB = $(TARGET).bundle
149
+ DLLIB = $(TARGET).so
150
150
  EXTSTATIC =
151
151
  STATIC_LIB =
152
152
 
@@ -260,7 +260,6 @@ $(TARGET_SO): $(OBJS) Makefile
260
260
  $(ECHO) linking shared-object $(DLLIB)
261
261
  -$(Q)$(RM) $(@)
262
262
  $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
263
- $(Q) $(POSTLINK)
264
263
 
265
264
 
266
265
 
data/ext/epoll.o ADDED
Binary file
data/ext/event.o CHANGED
Binary file
data/ext/extconf.h CHANGED
@@ -1,6 +1,8 @@
1
1
  #ifndef EXTCONF_H
2
2
  #define EXTCONF_H
3
3
  #define HAVE_RB_EXT_RACTOR_SAFE 1
4
- #define HAVE_SYS_EVENT_H 1
4
+ #define HAVE_LIBURING_H 1
5
+ #define HAVE_SYS_EPOLL_H 1
6
+ #define HAVE_SYS_EVENTFD_H 1
5
7
  #define HAVE_RB_FIBER_CURRENT 1
6
8
  #endif
data/ext/interrupt.o CHANGED
Binary file
@@ -21,19 +21,16 @@
21
21
  // static const int DEBUG = 0;
22
22
 
23
23
  #include "interrupt.h"
24
- #include <fcntl.h>
25
24
  #include <unistd.h>
26
25
 
27
- #ifdef HAVE_SYS_EVENTFD_H
28
- #include <sys/eventfd.h>
29
- #endif
30
-
31
26
  #include "selector/selector.h"
32
27
 
33
28
  #ifdef HAVE_SYS_EVENTFD_H
29
+ #include <sys/eventfd.h>
30
+
34
31
  void IO_Event_Interrupt_open(struct IO_Event_Interrupt *interrupt)
35
32
  {
36
- interrupt->descriptor = eventfd2(0, EFD_CLOEXEC | EFD_NONBLOCK);
33
+ interrupt->descriptor = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK);
37
34
  rb_update_max_fd(interrupt->descriptor);
38
35
  }
39
36
 
@@ -63,6 +60,9 @@ void IO_Event_Interrupt_open(struct IO_Event_Interrupt *interrupt)
63
60
  IO_Event_Selector_nonblock_set(interrupt->descriptor[0]);
64
61
  IO_Event_Selector_nonblock_set(interrupt->descriptor[1]);
65
62
  #endif
63
+
64
+ rb_update_max_fd(interrupt->descriptor[0]);
65
+ rb_update_max_fd(interrupt->descriptor[1]);
66
66
  }
67
67
 
68
68
  void IO_Event_Interrupt_close(struct IO_Event_Interrupt *interrupt)
@@ -18,6 +18,10 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
 
21
+ #pragma once
22
+
23
+ #include "extconf.h"
24
+
21
25
  #ifdef HAVE_SYS_EVENTFD_H
22
26
  struct IO_Event_Interrupt {
23
27
  int descriptor;
@@ -28,6 +28,8 @@
28
28
  #include "pidfd.c"
29
29
  #include "../interrupt.h"
30
30
 
31
+ static const int DEBUG = 0;
32
+
31
33
  static VALUE IO_Event_Selector_EPoll = Qnil;
32
34
 
33
35
  enum {EPOLL_MAX_EVENTS = 64};
@@ -36,7 +38,7 @@ struct IO_Event_Selector_EPoll {
36
38
  struct IO_Event_Selector backend;
37
39
  int descriptor;
38
40
  int blocked;
39
- IO_Event_Interrupt interrupt;
41
+ struct IO_Event_Interrupt interrupt;
40
42
  };
41
43
 
42
44
  void IO_Event_Selector_EPoll_Type_mark(void *_data)
@@ -90,12 +92,12 @@ VALUE IO_Event_Selector_EPoll_allocate(VALUE self) {
90
92
  return instance;
91
93
  }
92
94
 
93
- void IO_Event_Interrupt_add(IO_Event_Interrupt *interrupt, struct IO_Event_Selector_EPoll *data) {
95
+ void IO_Event_Interrupt_add(struct IO_Event_Interrupt *interrupt, struct IO_Event_Selector_EPoll *data) {
94
96
  int descriptor = IO_Event_Interrupt_descriptor(interrupt);
95
97
 
96
98
  struct epoll_event event = {
97
99
  .events = EPOLLIN|EPOLLRDHUP,
98
- .data = {.ptr = NULL, .fd},
100
+ .data = {.ptr = NULL},
99
101
  };
100
102
 
101
103
  int result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
@@ -557,40 +559,43 @@ VALUE IO_Event_Selector_EPoll_select(VALUE self, VALUE duration) {
557
559
  .timeout = 0
558
560
  };
559
561
 
562
+ // Process any currently pending events:
560
563
  select_internal_with_gvl(&arguments);
561
-
562
- // If the ready list was empty and no events were processed:
564
+
565
+ // If the ready list was empty and no events were processed:
563
566
  if (!ready && arguments.count == 0) {
564
567
  arguments.timeout = make_timeout(duration);
565
568
 
566
569
  if (arguments.timeout != 0) {
570
+ // Wait for events to occur
567
571
  select_internal_without_gvl(&arguments);
568
572
  }
569
573
  }
570
574
 
571
575
  for (int i = 0; i < arguments.count; i += 1) {
572
- VALUE fiber = (VALUE)arguments.events[i].data.ptr;
573
- VALUE result = INT2NUM(arguments.events[i].events);
576
+ const struct epoll_event *event = &arguments.events[i];
577
+ if (DEBUG) fprintf(stderr, "-> ptr=%p events=%d\n", event->data.ptr, event->events);
574
578
 
575
- if (arguments.events[i].data.fd == IO_Event_Interrupt_descriptor(&data->interrupt)) {
579
+ if (event->data.ptr) {
580
+ VALUE fiber = (VALUE)event->data.ptr;
581
+ VALUE result = INT2NUM(event->events);
582
+
583
+ IO_Event_Selector_fiber_transfer(fiber, 1, &result);
584
+ } else {
576
585
  IO_Event_Interrupt_clear(&data->interrupt);
577
586
  }
578
-
579
- // fprintf(stderr, "-> fiber=%p descriptor=%d\n", (void*)fiber, events[i].data.fd);
580
-
581
- IO_Event_Selector_fiber_transfer(fiber, 1, &result);
582
587
  }
583
588
 
584
589
  return INT2NUM(arguments.count);
585
590
  }
586
591
 
587
- VALUE IO_Event_Selector_URing_wakeup(VALUE self) {
592
+ VALUE IO_Event_Selector_EPoll_wakeup(VALUE self) {
588
593
  struct IO_Event_Selector_EPoll *data = NULL;
589
594
  TypedData_Get_Struct(self, struct IO_Event_Selector_EPoll, &IO_Event_Selector_EPoll_Type, data);
590
595
 
591
596
  // If we are blocking, we can schedule a nop event to wake up the selector:
592
597
  if (data->blocked) {
593
- IO_Event_Interrupt_signal(data->interrupt);
598
+ IO_Event_Interrupt_signal(&data->interrupt);
594
599
 
595
600
  return Qtrue;
596
601
  }
@@ -35,6 +35,7 @@ struct IO_Event_Selector_KQueue {
35
35
  int descriptor;
36
36
 
37
37
  int blocked;
38
+ int wakeup;
38
39
  };
39
40
 
40
41
  void IO_Event_Selector_KQueue_Type_mark(void *_data)
@@ -572,6 +573,13 @@ void * select_internal(void *_arguments) {
572
573
  static
573
574
  void select_internal_without_gvl(struct select_arguments *arguments) {
574
575
  arguments->data->blocked = 1;
576
+
577
+ if (arguments->data->wakeup) {
578
+ arguments->data->wakeup = 0;
579
+ arguments->count = 0;
580
+ return;
581
+ }
582
+
575
583
  rb_thread_call_without_gvl(select_internal, (void *)arguments, RUBY_UBF_IO, 0);
576
584
  arguments->data->blocked = 0;
577
585
 
@@ -604,12 +612,13 @@ VALUE IO_Event_Selector_KQueue_select(VALUE self, VALUE duration) {
604
612
  }
605
613
  };
606
614
 
615
+ arguments.timeout = &arguments.storage;
616
+
607
617
  // We break this implementation into two parts.
608
618
  // (1) count = kevent(..., timeout = 0)
609
619
  // (2) without gvl: kevent(..., timeout = 0) if count == 0 and timeout != 0
610
620
  // This allows us to avoid releasing and reacquiring the GVL.
611
621
  // Non-comprehensive testing shows this gives a 1.5x speedup.
612
- arguments.timeout = &arguments.storage;
613
622
 
614
623
  // First do the syscall with no timeout to get any immediately available events:
615
624
  select_internal_with_gvl(&arguments);
@@ -641,6 +650,11 @@ VALUE IO_Event_Selector_KQueue_wakeup(VALUE self) {
641
650
  struct IO_Event_Selector_KQueue *data = NULL;
642
651
  TypedData_Get_Struct(self, struct IO_Event_Selector_KQueue, &IO_Event_Selector_KQueue_Type, data);
643
652
 
653
+ // If we are already schduled to wake up, don't bother doing it again!
654
+ if (data->wakeup) return Qfalse;
655
+
656
+ data->wakeup = 1;
657
+
644
658
  if (data->blocked) {
645
659
  struct kevent trigger = {0};
646
660
 
@@ -18,6 +18,8 @@
18
18
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
19
  // THE SOFTWARE.
20
20
 
21
+ #pragma once
22
+
21
23
  #include <ruby.h>
22
24
  #include <ruby/thread.h>
23
25
  #include <ruby/io.h>
@@ -26,7 +26,6 @@
26
26
  #include <time.h>
27
27
 
28
28
  #include "pidfd.c"
29
- #include "../interrupt.h"
30
29
 
31
30
  static const int DEBUG = 0;
32
31
 
@@ -561,7 +560,7 @@ int select_internal_without_gvl(struct select_arguments *arguments) {
561
560
  return arguments->result;
562
561
  }
563
562
 
564
- #define IO_EVENT_SELECTOR_URING_UDATA_INTERRUPT ((__u64) -2)
563
+ // #define IO_EVENT_SELECTOR_URING_UDATA_INTERRUPT ((__u64) -2)
565
564
 
566
565
  static inline
567
566
  unsigned select_process_completions(struct io_uring *ring) {
@@ -578,10 +577,9 @@ unsigned select_process_completions(struct io_uring *ring) {
578
577
  continue;
579
578
  }
580
579
 
581
- if (cqe->user_data == IO_EVENT_SELECTOR_URING_UDATA_INTERRUPT) {
582
- io_uring_cq_advance(ring, 1);
583
- IO_Event_Interrupt_clear();
584
- }
580
+ // if (cqe->user_data == IO_EVENT_SELECTOR_URING_UDATA_INTERRUPT) {
581
+ // io_uring_cq_advance(ring, 1);
582
+ // }
585
583
 
586
584
  VALUE fiber = (VALUE)cqe->user_data;
587
585
  VALUE result = RB_INT2NUM(cqe->res);
@@ -634,8 +632,8 @@ VALUE IO_Event_Selector_URing_select(VALUE self, VALUE duration) {
634
632
  }
635
633
 
636
634
  VALUE IO_Event_Selector_URing_wakeup(VALUE self) {
637
- struct IO_Event_Selector_KQueue *data = NULL;
638
- TypedData_Get_Struct(self, struct IO_Event_Selector_KQueue, &IO_Event_Selector_KQueue_Type, data);
635
+ struct IO_Event_Selector_URing *data = NULL;
636
+ TypedData_Get_Struct(self, struct IO_Event_Selector_URing, &IO_Event_Selector_URing_Type, data);
639
637
 
640
638
  // If we are blocking, we can schedule a nop event to wake up the selector:
641
639
  if (data->blocked) {
@@ -652,7 +650,7 @@ VALUE IO_Event_Selector_URing_wakeup(VALUE self) {
652
650
  }
653
651
 
654
652
  io_uring_prep_nop(sqe);
655
- io_uring_submit(&backend->ring);
653
+ io_uring_submit(&data->ring);
656
654
 
657
655
  return Qtrue;
658
656
  }
@@ -667,7 +665,7 @@ void Init_IO_Event_Selector_URing(VALUE IO_Event_Selector) {
667
665
  rb_define_alloc_func(IO_Event_Selector_URing, IO_Event_Selector_URing_allocate);
668
666
  rb_define_method(IO_Event_Selector_URing, "initialize", IO_Event_Selector_URing_initialize, 1);
669
667
 
670
- rb_define_method(IO_Event_Selector_URing, "loop", IO_Event_Selector_URing_loop, 1);
668
+ rb_define_method(IO_Event_Selector_URing, "loop", IO_Event_Selector_URing_loop, 0);
671
669
 
672
670
  rb_define_method(IO_Event_Selector_URing, "transfer", IO_Event_Selector_URing_transfer, 0);
673
671
  rb_define_method(IO_Event_Selector_URing, "resume", IO_Event_Selector_URing_resume, -1);
data/ext/mkmf.log CHANGED
@@ -1,6 +1,6 @@
1
1
  have_func: checking for rb_ext_ractor_safe()... -------------------- yes
2
2
 
3
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
3
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
4
4
  checked program was:
5
5
  /* begin */
6
6
  1: #include "ruby.h"
@@ -11,7 +11,7 @@ checked program was:
11
11
  6: }
12
12
  /* end */
13
13
 
14
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
14
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
15
15
  checked program was:
16
16
  /* begin */
17
17
  1: #include "ruby.h"
@@ -34,11 +34,17 @@ checked program was:
34
34
 
35
35
  have_func: checking for &rb_fiber_transfer()... -------------------- no
36
36
 
37
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
38
- conftest.c:14:76: error: use of undeclared identifier 'rb_fiber_transfer'
39
- int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_transfer; return !p; }
40
- ^
41
- 1 error generated.
37
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
38
+ conftest.c: In function ‘t’:
39
+ conftest.c:14:76: error: ‘rb_fiber_transfer’ undeclared (first use in this function); did you mean ‘rb_fiber_resume’?
40
+ 14 | int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_transfer; return !p; }
41
+ | ^~~~~~~~~~~~~~~~~
42
+ | rb_fiber_resume
43
+ conftest.c:14:76: note: each undeclared identifier is reported only once for each function it appears in
44
+ conftest.c: At top level:
45
+ cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
46
+ cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
47
+ cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
42
48
  checked program was:
43
49
  /* begin */
44
50
  1: #include "ruby.h"
@@ -59,11 +65,9 @@ checked program was:
59
65
 
60
66
  --------------------
61
67
 
62
- have_library: checking for -luring... -------------------- no
68
+ have_library: checking for -luring... -------------------- yes
63
69
 
64
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc -luring "
65
- ld: library not found for -luring
66
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
70
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
67
71
  checked program was:
68
72
  /* begin */
69
73
  1: #include "ruby.h"
@@ -85,13 +89,21 @@ checked program was:
85
89
 
86
90
  --------------------
87
91
 
88
- have_header: checking for sys/epoll.h... -------------------- no
92
+ have_header: checking for liburing.h... -------------------- yes
89
93
 
90
- "clang -E -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -o conftest.i"
91
- conftest.c:3:10: fatal error: 'sys/epoll.h' file not found
92
- #include <sys/epoll.h>
93
- ^~~~~~~~~~~~~
94
- 1 error generated.
94
+ "gcc -E -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -o conftest.i"
95
+ checked program was:
96
+ /* begin */
97
+ 1: #include "ruby.h"
98
+ 2:
99
+ 3: #include <liburing.h>
100
+ /* end */
101
+
102
+ --------------------
103
+
104
+ have_header: checking for sys/epoll.h... -------------------- yes
105
+
106
+ "gcc -E -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -o conftest.i"
95
107
  checked program was:
96
108
  /* begin */
97
109
  1: #include "ruby.h"
@@ -101,9 +113,13 @@ checked program was:
101
113
 
102
114
  --------------------
103
115
 
104
- have_header: checking for sys/event.h... -------------------- yes
116
+ have_header: checking for sys/event.h... -------------------- no
105
117
 
106
- "clang -E -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -o conftest.i"
118
+ "gcc -E -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -o conftest.i"
119
+ conftest.c:3:10: fatal error: sys/event.h: No such file or directory
120
+ 3 | #include <sys/event.h>
121
+ | ^~~~~~~~~~~~~
122
+ compilation terminated.
107
123
  checked program was:
108
124
  /* begin */
109
125
  1: #include "ruby.h"
@@ -113,13 +129,9 @@ checked program was:
113
129
 
114
130
  --------------------
115
131
 
116
- have_header: checking for sys/eventfd.h... -------------------- no
132
+ have_header: checking for sys/eventfd.h... -------------------- yes
117
133
 
118
- "clang -E -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -o conftest.i"
119
- conftest.c:3:10: fatal error: 'sys/eventfd.h' file not found
120
- #include <sys/eventfd.h>
121
- ^~~~~~~~~~~~~~~
122
- 1 error generated.
134
+ "gcc -E -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -o conftest.i"
123
135
  checked program was:
124
136
  /* begin */
125
137
  1: #include "ruby.h"
@@ -131,11 +143,16 @@ checked program was:
131
143
 
132
144
  have_func: checking for rb_io_descriptor()... -------------------- no
133
145
 
134
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
135
- conftest.c:14:57: error: use of undeclared identifier 'rb_io_descriptor'
136
- int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_io_descriptor; return !p; }
137
- ^
138
- 1 error generated.
146
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -luring -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
147
+ conftest.c: In function ‘t’:
148
+ conftest.c:14:57: error: ‘rb_io_descriptor’ undeclared (first use in this function)
149
+ 14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_io_descriptor; return !p; }
150
+ | ^~~~~~~~~~~~~~~~
151
+ conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
152
+ conftest.c: At top level:
153
+ cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
154
+ cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
155
+ cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
139
156
  checked program was:
140
157
  /* begin */
141
158
  1: #include "ruby.h"
@@ -154,12 +171,10 @@ checked program was:
154
171
  14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_io_descriptor; return !p; }
155
172
  /* end */
156
173
 
157
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
158
- Undefined symbols for architecture arm64:
159
- "_rb_io_descriptor", referenced from:
160
- _t in conftest-3b24c5.o
161
- ld: symbol(s) not found for architecture arm64
162
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
174
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -luring -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
175
+ /usr/bin/ld: /tmp/cc0gnp4R.o: in function `t':
176
+ /home/samuel/Projects/socketry/io-event/ext/conftest.c:15: undefined reference to `rb_io_descriptor'
177
+ collect2: error: ld returned 1 exit status
163
178
  checked program was:
164
179
  /* begin */
165
180
  1: #include "ruby.h"
@@ -183,11 +198,16 @@ checked program was:
183
198
 
184
199
  have_func: checking for &rb_process_status_wait()... -------------------- no
185
200
 
186
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
187
- conftest.c:14:76: error: use of undeclared identifier 'rb_process_status_wait'
188
- int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_process_status_wait; return !p; }
189
- ^
190
- 1 error generated.
201
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -luring -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
202
+ conftest.c: In function ‘t’:
203
+ conftest.c:14:76: error: ‘rb_process_status_wait’ undeclared (first use in this function)
204
+ 14 | int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_process_status_wait; return !p; }
205
+ | ^~~~~~~~~~~~~~~~~~~~~~
206
+ conftest.c:14:76: note: each undeclared identifier is reported only once for each function it appears in
207
+ conftest.c: At top level:
208
+ cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
209
+ cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
210
+ cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
191
211
  checked program was:
192
212
  /* begin */
193
213
  1: #include "ruby.h"
@@ -210,7 +230,7 @@ checked program was:
210
230
 
211
231
  have_func: checking for rb_fiber_current()... -------------------- yes
212
232
 
213
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
233
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -luring -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
214
234
  checked program was:
215
235
  /* begin */
216
236
  1: #include "ruby.h"
@@ -233,15 +253,17 @@ checked program was:
233
253
 
234
254
  have_func: checking for &rb_fiber_raise()... -------------------- no
235
255
 
236
- "clang -fdeclspec -o conftest -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -L. -L/Users/samuel/.rubies/ruby-3.0.3/lib -L/opt/local/lib -L. -fstack-protector-strong -L/opt/local/lib -m64 -lruby.3.0-static -framework Security -framework Foundation -lpthread -lgmp -ldl -lobjc "
237
- conftest.c:14:76: error: use of undeclared identifier 'rb_fiber_raise'; did you mean 'rb_fiber_resume'?
238
- int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_raise; return !p; }
239
- ^~~~~~~~~~~~~~
240
- rb_fiber_resume
241
- /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/internal/intern/cont.h:32:7: note: 'rb_fiber_resume' declared here
242
- VALUE rb_fiber_resume(VALUE fib, int argc, const VALUE *argv);
243
- ^
244
- 1 error generated.
256
+ "gcc -o conftest -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -L. -L/home/samuel/.rubies/ruby-3.0.3/lib -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -luring -Wl,-rpath,/home/samuel/.rubies/ruby-3.0.3/lib -L/home/samuel/.rubies/ruby-3.0.3/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -luring -lm -lc"
257
+ conftest.c: In function ‘t’:
258
+ conftest.c:14:76: error: ‘rb_fiber_raise’ undeclared (first use in this function); did you mean ‘rb_fiber_resume’?
259
+ 14 | int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_raise; return !p; }
260
+ | ^~~~~~~~~~~~~~
261
+ | rb_fiber_resume
262
+ conftest.c:14:76: note: each undeclared identifier is reported only once for each function it appears in
263
+ conftest.c: At top level:
264
+ cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
265
+ cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
266
+ cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
245
267
  checked program was:
246
268
  /* begin */
247
269
  1: #include "ruby.h"
@@ -264,12 +286,11 @@ checked program was:
264
286
 
265
287
  have_header: checking for ruby/io/buffer.h... -------------------- no
266
288
 
267
- "clang -E -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21 -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens -pipe -Wall conftest.c -o conftest.i"
268
- conftest.c:3:10: fatal error: 'ruby/io/buffer.h' file not found
269
- #include <ruby/io/buffer.h>
270
- ^~~~~~~~~~~~~~~~~~
271
- conftest.c:3:10: note: did not find header 'io/buffer.h' in framework 'ruby' (loaded from '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks')
272
- 1 error generated.
289
+ "gcc -E -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/ruby/backward -I/home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0 -I. -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wall conftest.c -o conftest.i"
290
+ conftest.c:3:10: fatal error: ruby/io/buffer.h: No such file or directory
291
+ 3 | #include <ruby/io/buffer.h>
292
+ | ^~~~~~~~~~~~~~~~~~
293
+ compilation terminated.
273
294
  checked program was:
274
295
  /* begin */
275
296
  1: #include "ruby.h"
@@ -284,8 +305,10 @@ extconf.h is:
284
305
  1: #ifndef EXTCONF_H
285
306
  2: #define EXTCONF_H
286
307
  3: #define HAVE_RB_EXT_RACTOR_SAFE 1
287
- 4: #define HAVE_SYS_EVENT_H 1
288
- 5: #define HAVE_RB_FIBER_CURRENT 1
289
- 6: #endif
308
+ 4: #define HAVE_LIBURING_H 1
309
+ 5: #define HAVE_SYS_EPOLL_H 1
310
+ 6: #define HAVE_SYS_EVENTFD_H 1
311
+ 7: #define HAVE_RB_FIBER_CURRENT 1
312
+ 8: #endif
290
313
  /* end */
291
314
 
data/ext/selector.o CHANGED
Binary file
data/ext/uring.o ADDED
Binary file
@@ -37,10 +37,15 @@ module IO::Event
37
37
 
38
38
  attr :loop
39
39
 
40
+ # If the event loop is currently blocked,
40
41
  def wakeup
41
42
  if @blocked
42
43
  @interrupt.signal
44
+
45
+ return true
43
46
  end
47
+
48
+ return false
44
49
  end
45
50
 
46
51
  def close
@@ -212,8 +217,8 @@ module IO::Event
212
217
  duration = 0
213
218
  end
214
219
 
215
- # The GVL ensures this is sufficiently synchronised for `#wakeup` to work correctly.
216
220
  @blocked = true
221
+ duration = 0 unless @ready.empty?
217
222
  readable, writable, _ = ::IO.select(@readable.keys, @writable.keys, nil, duration)
218
223
  @blocked = false
219
224
 
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module IO::Event
22
- VERSION = "0.2.1"
22
+ VERSION = "0.2.2"
23
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io-event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-08 00:00:00.000000000 Z
11
+ date: 2021-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bake
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: sus
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '0.5'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '0.5'
69
69
  description:
70
70
  email:
71
71
  executables: []
@@ -73,8 +73,9 @@ extensions:
73
73
  - ext/extconf.rb
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ext/IO_Event.bundle
76
+ - ext/IO_Event.so
77
77
  - ext/Makefile
78
+ - ext/epoll.o
78
79
  - ext/event.o
79
80
  - ext/extconf.h
80
81
  - ext/extconf.rb
@@ -92,9 +93,9 @@ files:
92
93
  - ext/io/event/selector/selector.h
93
94
  - ext/io/event/selector/uring.c
94
95
  - ext/io/event/selector/uring.h
95
- - ext/kqueue.o
96
96
  - ext/mkmf.log
97
97
  - ext/selector.o
98
+ - ext/uring.o
98
99
  - lib/io/event.rb
99
100
  - lib/io/event/debug/selector.rb
100
101
  - lib/io/event/interrupt.rb
data/ext/IO_Event.bundle DELETED
Binary file
data/ext/kqueue.o DELETED
Binary file