io-event 0.2.2 → 0.2.3

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: 42c3a881e6ec0701f4801997d37fb0db726b8be237113e1d18216124b3780696
4
- data.tar.gz: bed05a684ba79871945e6d89752dafb39a04d46e1423bc22736f270995c6777a
3
+ metadata.gz: c0978ed0fd5d85399283cd8c4bb296f44662af2fad9a67e992000f3214898f5a
4
+ data.tar.gz: 154503dd7f0f52dc2ad166d262bb371f81fc60e148dd0c74eadb65051bc5e71f
5
5
  SHA512:
6
- metadata.gz: cf07851ef3309a9dc0d8dde93f4ef7f7ccab6c5757ddae1d713cccca5f3b3990d167c83847f991752a4c2627895404aebc4d605287a6e2db7cf44e5176f0205b
7
- data.tar.gz: b5aa5dabb62b5ca20e0feb6918e5f6683a0e234fcda431ff527cf884c4d0aacc026f60c534fd66a07fe963bb4acee802bd93f355aec98d96cccdd47e0aafb8af
6
+ metadata.gz: a54cab01e6c314890284d9640e3404f6a34706402b2cbf6383bff69c6c341c0c84c56f64d1feebb46e875539e1baab95749ce7f41e5f15ae13af0d8b9e1e0c1a
7
+ data.tar.gz: 7b2891a70e1703616f104410d4f86898a5d9c2bfa6c8ecde0295bea1bfed6ee7efada50568bdf8f841e0360db370d209259f66f2cb17f97d2be47db8a1c2e101
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 = /home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0
15
+ topdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0
16
16
  hdrdir = $(topdir)
17
- arch_hdrdir = /home/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/x86_64-linux
17
+ arch_hdrdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21
18
18
  PATH_SEPARATOR = :
19
19
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby:$(srcdir)/io/event:$(srcdir)/io/event/selector
20
- prefix = $(DESTDIR)/home/samuel/.rubies/ruby-3.0.3
20
+ prefix = $(DESTDIR)/Users/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 = $(DESTDIR)/usr/include
53
+ oldincludedir = $(SDKROOT)/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 = gcc
69
- CXX = g++
68
+ CC = clang -fdeclspec
69
+ CXX = clang++ -fdeclspec
70
70
  LIBRUBY = $(LIBRUBY_A)
71
71
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
72
- LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir)
73
- LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
72
+ LIBRUBYARG_SHARED =
73
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework Security -framework Foundation $(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 -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
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
85
85
  cppflags =
86
- CCDLFLAGS = -fPIC
87
- CFLAGS = $(CCDLFLAGS) $(cflags) -Wall $(ARCH_FLAG)
86
+ CCDLFLAGS = -fno-common
87
+ CFLAGS = $(CCDLFLAGS) $(cflags) -pipe -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)\" $(DEFS) $(cppflags)
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)
91
91
  CXXFLAGS = $(CCDLFLAGS) $(ARCH_FLAG)
92
- ldflags = -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic
93
- dldflags = -Wl,--compress-debug-sections=zlib
94
- 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
95
95
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
96
- LDSHARED = $(CC) -shared
97
- LDSHAREDXX = $(CXX) -shared
98
- AR = gcc-ar
96
+ LDSHARED = $(CC) -dynamic -bundle
97
+ LDSHAREDXX = $(CXX) -dynamic -bundle
98
+ AR = ar
99
99
  EXEEXT =
100
100
 
101
101
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
102
- RUBY_SO_NAME = ruby
102
+ RUBY_SO_NAME = ruby.3.0
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 = x86_64-linux
108
+ arch = arm64-darwin21
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 --ignore-fail-on-non-empty -p
118
- MAKEDIRS = /usr/bin/mkdir -p
119
- INSTALL = /usr/bin/install -c
117
+ RMDIRS = rmdir -p
118
+ MAKEDIRS = /opt/local/bin/gmkdir -p
119
+ INSTALL = /opt/local/bin/ginstall -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)
129
- LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir)
128
+ libpath = . $(libdir) /opt/local/lib
129
+ LIBPATH = -L. -L$(libdir) -L/opt/local/lib
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 = -luring -lm -lc
140
+ LIBS =
141
141
  ORIG_SRCS =
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
142
+ SRCS = $(ORIG_SRCS) event.c selector.c kqueue.c interrupt.c
143
+ OBJS = event.o selector.o kqueue.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).so
149
+ DLLIB = $(TARGET).bundle
150
150
  EXTSTATIC =
151
151
  STATIC_LIB =
152
152
 
@@ -260,6 +260,7 @@ $(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)
263
264
 
264
265
 
265
266
 
data/ext/event.o CHANGED
Binary file
data/ext/extconf.h CHANGED
@@ -1,8 +1,6 @@
1
1
  #ifndef EXTCONF_H
2
2
  #define EXTCONF_H
3
3
  #define HAVE_RB_EXT_RACTOR_SAFE 1
4
- #define HAVE_LIBURING_H 1
5
- #define HAVE_SYS_EPOLL_H 1
6
- #define HAVE_SYS_EVENTFD_H 1
4
+ #define HAVE_SYS_EVENT_H 1
7
5
  #define HAVE_RB_FIBER_CURRENT 1
8
6
  #endif
data/ext/interrupt.o CHANGED
Binary file
@@ -42,13 +42,25 @@ void IO_Event_Interrupt_close(struct IO_Event_Interrupt *interrupt)
42
42
  void IO_Event_Interrupt_signal(struct IO_Event_Interrupt *interrupt)
43
43
  {
44
44
  uint64_t value = 1;
45
- write(interrupt->descriptor, &value, sizeof(value));
45
+ ssize_t result = write(interrupt->descriptor, &value, sizeof(value));
46
+
47
+ if (result == -1) {
48
+ if (errno == EAGAIN || errno == EWOULDBLOCK) return;
49
+
50
+ rb_sys_fail("IO_Event_Interrupt_signal:write");
51
+ }
46
52
  }
47
53
 
48
54
  void IO_Event_Interrupt_clear(struct IO_Event_Interrupt *interrupt)
49
55
  {
50
56
  uint64_t value = 0;
51
- read(interrupt->descriptor, &value, sizeof(value));
57
+ ssize_t result = read(interrupt->descriptor, &value, sizeof(value));
58
+
59
+ if (result == -1) {
60
+ if (errno == EAGAIN || errno == EWOULDBLOCK) return;
61
+
62
+ rb_sys_fail("IO_Event_Interrupt_clear:read");
63
+ }
52
64
  }
53
65
  #else
54
66
  void IO_Event_Interrupt_open(struct IO_Event_Interrupt *interrupt)
@@ -73,12 +85,24 @@ void IO_Event_Interrupt_close(struct IO_Event_Interrupt *interrupt)
73
85
 
74
86
  void IO_Event_Interrupt_signal(struct IO_Event_Interrupt *interrupt)
75
87
  {
76
- write(interrupt->descriptor[1], ".", 1);
88
+ ssize_t result = write(interrupt->descriptor[1], ".", 1);
89
+
90
+ if (result == -1) {
91
+ if (errno == EAGAIN || errno == EWOULDBLOCK) return;
92
+
93
+ rb_sys_fail("IO_Event_Interrupt_signal:write");
94
+ }
77
95
  }
78
96
 
79
97
  void IO_Event_Interrupt_clear(struct IO_Event_Interrupt *interrupt)
80
98
  {
81
99
  char buffer[128];
82
- read(interrupt->descriptor[0], buffer, sizeof(buffer));
100
+ ssize_t result = read(interrupt->descriptor[0], buffer, sizeof(buffer));
101
+
102
+ if (result == -1) {
103
+ if (errno == EAGAIN || errno == EWOULDBLOCK) return;
104
+
105
+ rb_sys_fail("IO_Event_Interrupt_clear:read");
106
+ }
83
107
  }
84
108
  #endif
@@ -103,7 +103,7 @@ void IO_Event_Interrupt_add(struct IO_Event_Interrupt *interrupt, struct IO_Even
103
103
  int result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
104
104
 
105
105
  if (result == -1) {
106
- rb_sys_fail("IO_Event_Interrupt_addL:epoll_ctl");
106
+ rb_sys_fail("IO_Event_Interrupt_add:epoll_ctl");
107
107
  }
108
108
  }
109
109
 
@@ -562,8 +562,12 @@ VALUE IO_Event_Selector_EPoll_select(VALUE self, VALUE duration) {
562
562
  // Process any currently pending events:
563
563
  select_internal_with_gvl(&arguments);
564
564
 
565
- // If the ready list was empty and no events were processed:
566
- if (!ready && arguments.count == 0) {
565
+ // If we:
566
+ // 1. Didn't process any ready fibers, and
567
+ // 2. Didn't process any events from non-blocking select (above), and
568
+ // 3. There are no items in the ready list,
569
+ // then we can perform a blocking select.
570
+ if (!ready && !arguments.count && !data->backend.ready) {
567
571
  arguments.timeout = make_timeout(duration);
568
572
 
569
573
  if (arguments.timeout != 0) {
@@ -35,7 +35,6 @@ struct IO_Event_Selector_KQueue {
35
35
  int descriptor;
36
36
 
37
37
  int blocked;
38
- int wakeup;
39
38
  };
40
39
 
41
40
  void IO_Event_Selector_KQueue_Type_mark(void *_data)
@@ -574,12 +573,6 @@ static
574
573
  void select_internal_without_gvl(struct select_arguments *arguments) {
575
574
  arguments->data->blocked = 1;
576
575
 
577
- if (arguments->data->wakeup) {
578
- arguments->data->wakeup = 0;
579
- arguments->count = 0;
580
- return;
581
- }
582
-
583
576
  rb_thread_call_without_gvl(select_internal, (void *)arguments, RUBY_UBF_IO, 0);
584
577
  arguments->data->blocked = 0;
585
578
 
@@ -623,8 +616,12 @@ VALUE IO_Event_Selector_KQueue_select(VALUE self, VALUE duration) {
623
616
  // First do the syscall with no timeout to get any immediately available events:
624
617
  select_internal_with_gvl(&arguments);
625
618
 
626
- // If there were no pending events, if we have a timeout, wait for more events:
627
- if (!ready && arguments.count == 0) {
619
+ // If we:
620
+ // 1. Didn't process any ready fibers, and
621
+ // 2. Didn't process any events from non-blocking select (above), and
622
+ // 3. There are no items in the ready list,
623
+ // then we can perform a blocking select.
624
+ if (!ready && !arguments.count && !data->backend.ready) {
628
625
  arguments.timeout = make_timeout(duration, &arguments.storage);
629
626
 
630
627
  if (!timeout_nonblocking(arguments.timeout)) {
@@ -650,11 +647,6 @@ VALUE IO_Event_Selector_KQueue_wakeup(VALUE self) {
650
647
  struct IO_Event_Selector_KQueue *data = NULL;
651
648
  TypedData_Get_Struct(self, struct IO_Event_Selector_KQueue, &IO_Event_Selector_KQueue_Type, data);
652
649
 
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
-
658
650
  if (data->blocked) {
659
651
  struct kevent trigger = {0};
660
652
 
@@ -606,8 +606,12 @@ VALUE IO_Event_Selector_URing_select(VALUE self, VALUE duration) {
606
606
 
607
607
  int result = select_process_completions(&data->ring);
608
608
 
609
- // If the ready list was empty and we didn't process any completions:
610
- if (!ready && result == 0) {
609
+ // If we:
610
+ // 1. Didn't process any ready fibers, and
611
+ // 2. Didn't process any events from non-blocking select (above), and
612
+ // 3. There are no items in the ready list,
613
+ // then we can perform a blocking select.
614
+ if (!ready && !result && !data->backend.ready) {
611
615
  // We might need to wait for events:
612
616
  struct select_arguments arguments = {
613
617
  .data = data,
data/ext/kqueue.o ADDED
Binary file
data/ext/mkmf.log CHANGED
@@ -1,6 +1,6 @@
1
1
  have_func: checking for rb_ext_ractor_safe()... -------------------- yes
2
2
 
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"
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 "
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
- "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"
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 "
15
15
  checked program was:
16
16
  /* begin */
17
17
  1: #include "ruby.h"
@@ -34,17 +34,11 @@ checked program was:
34
34
 
35
35
  have_func: checking for &rb_fiber_transfer()... -------------------- no
36
36
 
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
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.
48
42
  checked program was:
49
43
  /* begin */
50
44
  1: #include "ruby.h"
@@ -65,9 +59,11 @@ checked program was:
65
59
 
66
60
  --------------------
67
61
 
68
- have_library: checking for -luring... -------------------- yes
62
+ have_library: checking for -luring... -------------------- no
69
63
 
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"
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)
71
67
  checked program was:
72
68
  /* begin */
73
69
  1: #include "ruby.h"
@@ -89,21 +85,13 @@ checked program was:
89
85
 
90
86
  --------------------
91
87
 
92
- have_header: checking for liburing.h... -------------------- yes
88
+ have_header: checking for sys/epoll.h... -------------------- no
93
89
 
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"
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.
107
95
  checked program was:
108
96
  /* begin */
109
97
  1: #include "ruby.h"
@@ -113,13 +101,9 @@ checked program was:
113
101
 
114
102
  --------------------
115
103
 
116
- have_header: checking for sys/event.h... -------------------- no
104
+ have_header: checking for sys/event.h... -------------------- yes
117
105
 
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.
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"
123
107
  checked program was:
124
108
  /* begin */
125
109
  1: #include "ruby.h"
@@ -129,9 +113,13 @@ checked program was:
129
113
 
130
114
  --------------------
131
115
 
132
- have_header: checking for sys/eventfd.h... -------------------- yes
116
+ have_header: checking for sys/eventfd.h... -------------------- no
133
117
 
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"
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.
135
123
  checked program was:
136
124
  /* begin */
137
125
  1: #include "ruby.h"
@@ -143,16 +131,11 @@ checked program was:
143
131
 
144
132
  have_func: checking for rb_io_descriptor()... -------------------- no
145
133
 
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
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.
156
139
  checked program was:
157
140
  /* begin */
158
141
  1: #include "ruby.h"
@@ -171,10 +154,12 @@ checked program was:
171
154
  14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_io_descriptor; return !p; }
172
155
  /* end */
173
156
 
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
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-1e4d1a.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)
178
163
  checked program was:
179
164
  /* begin */
180
165
  1: #include "ruby.h"
@@ -198,16 +183,11 @@ checked program was:
198
183
 
199
184
  have_func: checking for &rb_process_status_wait()... -------------------- no
200
185
 
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
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.
211
191
  checked program was:
212
192
  /* begin */
213
193
  1: #include "ruby.h"
@@ -230,7 +210,7 @@ checked program was:
230
210
 
231
211
  have_func: checking for rb_fiber_current()... -------------------- yes
232
212
 
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"
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 "
234
214
  checked program was:
235
215
  /* begin */
236
216
  1: #include "ruby.h"
@@ -253,17 +233,15 @@ checked program was:
253
233
 
254
234
  have_func: checking for &rb_fiber_raise()... -------------------- no
255
235
 
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
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.
267
245
  checked program was:
268
246
  /* begin */
269
247
  1: #include "ruby.h"
@@ -286,11 +264,12 @@ checked program was:
286
264
 
287
265
  have_header: checking for ruby/io/buffer.h... -------------------- no
288
266
 
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.
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.
294
273
  checked program was:
295
274
  /* begin */
296
275
  1: #include "ruby.h"
@@ -305,10 +284,8 @@ extconf.h is:
305
284
  1: #ifndef EXTCONF_H
306
285
  2: #define EXTCONF_H
307
286
  3: #define HAVE_RB_EXT_RACTOR_SAFE 1
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
287
+ 4: #define HAVE_SYS_EVENT_H 1
288
+ 5: #define HAVE_RB_FIBER_CURRENT 1
289
+ 6: #endif
313
290
  /* end */
314
291
 
data/ext/selector.o CHANGED
Binary file
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module IO::Event
22
- VERSION = "0.2.2"
22
+ VERSION = "0.2.3"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io-event
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -73,9 +73,8 @@ extensions:
73
73
  - ext/extconf.rb
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ext/IO_Event.so
76
+ - ext/IO_Event.bundle
77
77
  - ext/Makefile
78
- - ext/epoll.o
79
78
  - ext/event.o
80
79
  - ext/extconf.h
81
80
  - ext/extconf.rb
@@ -93,9 +92,9 @@ files:
93
92
  - ext/io/event/selector/selector.h
94
93
  - ext/io/event/selector/uring.c
95
94
  - ext/io/event/selector/uring.h
95
+ - ext/kqueue.o
96
96
  - ext/mkmf.log
97
97
  - ext/selector.o
98
- - ext/uring.o
99
98
  - lib/io/event.rb
100
99
  - lib/io/event/debug/selector.rb
101
100
  - lib/io/event/interrupt.rb
data/ext/IO_Event.so DELETED
Binary file
data/ext/epoll.o DELETED
Binary file
data/ext/uring.o DELETED
Binary file