io-event 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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