io-event 1.0.3 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/io/event/selector/epoll.c +44 -8
- data/ext/io/event/selector/uring.c +3 -3
- data/lib/io/event/version.rb +1 -1
- metadata +6 -11
- data/ext/IO_Event.bundle +0 -0
- data/ext/Makefile +0 -267
- data/ext/event.o +0 -0
- data/ext/extconf.h +0 -6
- data/ext/interrupt.o +0 -0
- data/ext/kqueue.o +0 -0
- data/ext/mkmf.log +0 -291
- data/ext/selector.o +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d99060107bec74ecdf3c86668fc61deea4d28bdcd9978511b5697ed33cf138d
|
4
|
+
data.tar.gz: 5bf171bc3b6ffe9d0884b722b1b6d63d74ef8612b4d7e0a71257fc7fd7956f80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 724ed197eeba22fd9ac7cb044ce287d34ba8a3a5a920dd84e990dd8627260c8d4266fae9f36f168859d9f6497efdefbb178f6d216cce16eabdf08f3d9e12d2e2
|
7
|
+
data.tar.gz: a28bad4426fdb19d261565fe1363a3ce3a5cb6d29f7d70419bda678dbf414f483455b669cdca0f49c0400ba6ec01ece4f2b536fd1a90af01e7eb519277532756
|
@@ -28,7 +28,9 @@
|
|
28
28
|
#include "pidfd.c"
|
29
29
|
#include "../interrupt.h"
|
30
30
|
|
31
|
-
|
31
|
+
enum {
|
32
|
+
DEBUG = 0,
|
33
|
+
};
|
32
34
|
|
33
35
|
static VALUE IO_Event_Selector_EPoll = Qnil;
|
34
36
|
|
@@ -231,6 +233,11 @@ VALUE IO_Event_Selector_EPoll_process_wait(VALUE self, VALUE fiber, VALUE pid, V
|
|
231
233
|
};
|
232
234
|
|
233
235
|
process_wait_arguments.descriptor = pidfd_open(process_wait_arguments.pid, 0);
|
236
|
+
|
237
|
+
if (process_wait_arguments.descriptor == -1) {
|
238
|
+
rb_sys_fail("IO_Event_Selector_EPoll_process_wait:pidfd_open");
|
239
|
+
}
|
240
|
+
|
234
241
|
rb_update_max_fd(process_wait_arguments.descriptor);
|
235
242
|
|
236
243
|
struct epoll_event event = {
|
@@ -241,6 +248,7 @@ VALUE IO_Event_Selector_EPoll_process_wait(VALUE self, VALUE fiber, VALUE pid, V
|
|
241
248
|
int result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, process_wait_arguments.descriptor, &event);
|
242
249
|
|
243
250
|
if (result == -1) {
|
251
|
+
close(process_wait_arguments.descriptor);
|
244
252
|
rb_sys_fail("IO_Event_Selector_EPoll_process_wait:epoll_ctl");
|
245
253
|
}
|
246
254
|
|
@@ -255,9 +263,14 @@ uint32_t epoll_flags_from_events(int events) {
|
|
255
263
|
if (events & IO_EVENT_PRIORITY) flags |= EPOLLPRI;
|
256
264
|
if (events & IO_EVENT_WRITABLE) flags |= EPOLLOUT;
|
257
265
|
|
258
|
-
flags |=
|
266
|
+
flags |= EPOLLHUP;
|
267
|
+
flags |= EPOLLERR;
|
268
|
+
|
269
|
+
// Immediately remove this descriptor after reading one event:
|
259
270
|
flags |= EPOLLONESHOT;
|
260
271
|
|
272
|
+
if (DEBUG) fprintf(stderr, "epoll_flags_from_events events=%d flags=%d\n", events, flags);
|
273
|
+
|
261
274
|
return flags;
|
262
275
|
}
|
263
276
|
|
@@ -265,7 +278,11 @@ static inline
|
|
265
278
|
int events_from_epoll_flags(uint32_t flags) {
|
266
279
|
int events = 0;
|
267
280
|
|
268
|
-
if (
|
281
|
+
if (DEBUG) fprintf(stderr, "events_from_epoll_flags flags=%d\n", flags);
|
282
|
+
|
283
|
+
// Occasionally, (and noted specifically when dealing with child processes stdout), flags will only be POLLHUP. In this case, we arm the file descriptor for reading so that the HUP will be noted, rather than potentially ignored, since there is no dedicated event for it.
|
284
|
+
// if (flags & (EPOLLIN)) events |= IO_EVENT_READABLE;
|
285
|
+
if (flags & (EPOLLIN|EPOLLHUP|EPOLLERR)) events |= IO_EVENT_READABLE;
|
269
286
|
if (flags & EPOLLPRI) events |= IO_EVENT_PRIORITY;
|
270
287
|
if (flags & EPOLLOUT) events |= IO_EVENT_WRITABLE;
|
271
288
|
|
@@ -299,11 +316,16 @@ VALUE io_wait_transfer(VALUE _arguments) {
|
|
299
316
|
|
300
317
|
VALUE result = IO_Event_Selector_fiber_transfer(arguments->data->backend.loop, 0, NULL);
|
301
318
|
|
319
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer errno=%d\n", errno);
|
320
|
+
|
302
321
|
// If the fiber is being cancelled, it might be resumed with nil:
|
303
322
|
if (!RTEST(result)) {
|
323
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer flags=false\n");
|
304
324
|
return Qfalse;
|
305
325
|
}
|
306
326
|
|
327
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer flags=%d\n", NUM2INT(result));
|
328
|
+
|
307
329
|
return INT2NUM(events_from_epoll_flags(NUM2INT(result)));
|
308
330
|
};
|
309
331
|
|
@@ -319,24 +341,38 @@ VALUE IO_Event_Selector_EPoll_io_wait(VALUE self, VALUE fiber, VALUE io, VALUE e
|
|
319
341
|
event.events = epoll_flags_from_events(NUM2INT(events));
|
320
342
|
event.data.ptr = (void*)fiber;
|
321
343
|
|
322
|
-
|
344
|
+
if (DEBUG) fprintf(stderr, "<- fiber=%p descriptor=%d\n", (void*)fiber, descriptor);
|
323
345
|
|
324
346
|
// A better approach is to batch all changes:
|
325
347
|
int result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
|
326
348
|
|
327
349
|
if (result == -1 && errno == EEXIST) {
|
328
350
|
// The file descriptor was already inserted into epoll.
|
329
|
-
duplicate =
|
351
|
+
duplicate = dup(descriptor);
|
330
352
|
|
331
|
-
|
332
|
-
|
333
|
-
if (descriptor == -1)
|
353
|
+
if (duplicate == -1) {
|
334
354
|
rb_sys_fail("IO_Event_Selector_EPoll_io_wait:dup");
|
355
|
+
}
|
356
|
+
|
357
|
+
descriptor = duplicate;
|
358
|
+
|
359
|
+
rb_update_max_fd(descriptor);
|
335
360
|
|
336
361
|
result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
|
337
362
|
}
|
338
363
|
|
339
364
|
if (result == -1) {
|
365
|
+
// If we duplicated the file descriptor, ensure it's closed:
|
366
|
+
if (duplicate >= 0) {
|
367
|
+
close(duplicate);
|
368
|
+
}
|
369
|
+
|
370
|
+
if (errno == EPERM) {
|
371
|
+
IO_Event_Selector_queue_push(&data->backend, fiber);
|
372
|
+
IO_Event_Selector_yield(&data->backend);
|
373
|
+
return events;
|
374
|
+
}
|
375
|
+
|
340
376
|
rb_sys_fail("IO_Event_Selector_EPoll_io_wait:epoll_ctl");
|
341
377
|
}
|
342
378
|
|
@@ -171,7 +171,6 @@ VALUE IO_Event_Selector_URing_raise(int argc, VALUE *argv, VALUE self)
|
|
171
171
|
return IO_Event_Selector_raise(&data->backend, argc, argv);
|
172
172
|
}
|
173
173
|
|
174
|
-
int blocked;
|
175
174
|
VALUE IO_Event_Selector_URing_ready_p(VALUE self) {
|
176
175
|
struct IO_Event_Selector_URing *data = NULL;
|
177
176
|
TypedData_Get_Struct(self, struct IO_Event_Selector_URing, &IO_Event_Selector_URing_Type, data);
|
@@ -292,8 +291,8 @@ short poll_flags_from_events(int events) {
|
|
292
291
|
if (events & IO_EVENT_PRIORITY) flags |= POLLPRI;
|
293
292
|
if (events & IO_EVENT_WRITABLE) flags |= POLLOUT;
|
294
293
|
|
295
|
-
flags |= POLLERR;
|
296
294
|
flags |= POLLHUP;
|
295
|
+
flags |= POLLERR;
|
297
296
|
|
298
297
|
return flags;
|
299
298
|
}
|
@@ -302,7 +301,8 @@ static inline
|
|
302
301
|
int events_from_poll_flags(short flags) {
|
303
302
|
int events = 0;
|
304
303
|
|
305
|
-
|
304
|
+
// See `epoll.c` for details regarding POLLHUP:
|
305
|
+
if (flags & (POLLIN|POLLHUP|POLLERR)) events |= IO_EVENT_READABLE;
|
306
306
|
if (flags & POLLPRI) events |= IO_EVENT_PRIORITY;
|
307
307
|
if (flags & POLLOUT) events |= IO_EVENT_WRITABLE;
|
308
308
|
|
data/lib/io/event/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: io-event
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
|
+
- machty
|
9
|
+
- Benoit Daloze
|
10
|
+
- Delton Ding
|
8
11
|
autorequire:
|
9
12
|
bindir: bin
|
10
13
|
cert_chain: []
|
11
|
-
date: 2022-
|
14
|
+
date: 2022-05-02 00:00:00.000000000 Z
|
12
15
|
dependencies:
|
13
16
|
- !ruby/object:Gem::Dependency
|
14
17
|
name: bake
|
@@ -73,12 +76,7 @@ extensions:
|
|
73
76
|
- ext/extconf.rb
|
74
77
|
extra_rdoc_files: []
|
75
78
|
files:
|
76
|
-
- ext/IO_Event.bundle
|
77
|
-
- ext/Makefile
|
78
|
-
- ext/event.o
|
79
|
-
- ext/extconf.h
|
80
79
|
- ext/extconf.rb
|
81
|
-
- ext/interrupt.o
|
82
80
|
- ext/io/event/event.c
|
83
81
|
- ext/io/event/event.h
|
84
82
|
- ext/io/event/interrupt.c
|
@@ -92,9 +90,6 @@ files:
|
|
92
90
|
- ext/io/event/selector/selector.h
|
93
91
|
- ext/io/event/selector/uring.c
|
94
92
|
- ext/io/event/selector/uring.h
|
95
|
-
- ext/kqueue.o
|
96
|
-
- ext/mkmf.log
|
97
|
-
- ext/selector.o
|
98
93
|
- lib/io/event.rb
|
99
94
|
- lib/io/event/debug/selector.rb
|
100
95
|
- lib/io/event/interrupt.rb
|
@@ -120,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
115
|
- !ruby/object:Gem::Version
|
121
116
|
version: '0'
|
122
117
|
requirements: []
|
123
|
-
rubygems_version: 3.
|
118
|
+
rubygems_version: 3.4.0.dev
|
124
119
|
signing_key:
|
125
120
|
specification_version: 4
|
126
121
|
summary: An event loop.
|
data/ext/IO_Event.bundle
DELETED
Binary file
|
data/ext/Makefile
DELETED
@@ -1,267 +0,0 @@
|
|
1
|
-
|
2
|
-
SHELL = /bin/sh
|
3
|
-
|
4
|
-
# V=0 quiet, V=1 verbose. other values don't work.
|
5
|
-
V = 0
|
6
|
-
Q1 = $(V:1=)
|
7
|
-
Q = $(Q1:0=@)
|
8
|
-
ECHO1 = $(V:1=@ :)
|
9
|
-
ECHO = $(ECHO1:0=@ echo)
|
10
|
-
NULLCMD = :
|
11
|
-
|
12
|
-
#### Start of system configuration section. ####
|
13
|
-
|
14
|
-
srcdir = .
|
15
|
-
topdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0
|
16
|
-
hdrdir = $(topdir)
|
17
|
-
arch_hdrdir = /Users/samuel/.rubies/ruby-3.0.3/include/ruby-3.0.0/arm64-darwin21
|
18
|
-
PATH_SEPARATOR = :
|
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
|
21
|
-
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
22
|
-
rubyarchprefix = $(rubylibprefix)/$(arch)
|
23
|
-
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
24
|
-
exec_prefix = $(prefix)
|
25
|
-
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
|
26
|
-
sitearchhdrdir = $(sitehdrdir)/$(sitearch)
|
27
|
-
rubyarchhdrdir = $(rubyhdrdir)/$(arch)
|
28
|
-
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
|
29
|
-
sitehdrdir = $(rubyhdrdir)/site_ruby
|
30
|
-
rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
|
31
|
-
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
32
|
-
vendorlibdir = $(vendordir)/$(ruby_version)
|
33
|
-
vendordir = $(rubylibprefix)/vendor_ruby
|
34
|
-
sitearchdir = $(sitelibdir)/$(sitearch)
|
35
|
-
sitelibdir = $(sitedir)/$(ruby_version)
|
36
|
-
sitedir = $(rubylibprefix)/site_ruby
|
37
|
-
rubyarchdir = $(rubylibdir)/$(arch)
|
38
|
-
rubylibdir = $(rubylibprefix)/$(ruby_version)
|
39
|
-
sitearchincludedir = $(includedir)/$(sitearch)
|
40
|
-
archincludedir = $(includedir)/$(arch)
|
41
|
-
sitearchlibdir = $(libdir)/$(sitearch)
|
42
|
-
archlibdir = $(libdir)/$(arch)
|
43
|
-
ridir = $(datarootdir)/$(RI_BASE_NAME)
|
44
|
-
mandir = $(datarootdir)/man
|
45
|
-
localedir = $(datarootdir)/locale
|
46
|
-
libdir = $(exec_prefix)/lib
|
47
|
-
psdir = $(docdir)
|
48
|
-
pdfdir = $(docdir)
|
49
|
-
dvidir = $(docdir)
|
50
|
-
htmldir = $(docdir)
|
51
|
-
infodir = $(datarootdir)/info
|
52
|
-
docdir = $(datarootdir)/doc/$(PACKAGE)
|
53
|
-
oldincludedir = $(SDKROOT)/usr/include
|
54
|
-
includedir = $(prefix)/include
|
55
|
-
runstatedir = $(localstatedir)/run
|
56
|
-
localstatedir = $(prefix)/var
|
57
|
-
sharedstatedir = $(prefix)/com
|
58
|
-
sysconfdir = $(prefix)/etc
|
59
|
-
datadir = $(datarootdir)
|
60
|
-
datarootdir = $(prefix)/share
|
61
|
-
libexecdir = $(exec_prefix)/libexec
|
62
|
-
sbindir = $(exec_prefix)/sbin
|
63
|
-
bindir = $(exec_prefix)/bin
|
64
|
-
archdir = $(rubyarchdir)
|
65
|
-
|
66
|
-
|
67
|
-
CC_WRAPPER =
|
68
|
-
CC = clang -fdeclspec
|
69
|
-
CXX = clang++ -fdeclspec
|
70
|
-
LIBRUBY = $(LIBRUBY_A)
|
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)
|
74
|
-
empty =
|
75
|
-
OUTFLAG = -o $(empty)
|
76
|
-
COUTFLAG = -o $(empty)
|
77
|
-
CSRCFLAG = $(empty)
|
78
|
-
|
79
|
-
RUBY_EXTCONF_H = extconf.h
|
80
|
-
cflags = $(optflags) $(debugflags) $(warnflags)
|
81
|
-
cxxflags =
|
82
|
-
optflags = -O3
|
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
|
85
|
-
cppflags =
|
86
|
-
CCDLFLAGS = -fno-common
|
87
|
-
CFLAGS = $(CCDLFLAGS) $(cflags) -pipe -Wall -std=c99 $(ARCH_FLAG)
|
88
|
-
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
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)
|
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
|
95
|
-
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
|
96
|
-
LDSHARED = $(CC) -dynamic -bundle
|
97
|
-
LDSHAREDXX = $(CXX) -dynamic -bundle
|
98
|
-
AR = ar
|
99
|
-
EXEEXT =
|
100
|
-
|
101
|
-
RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
|
102
|
-
RUBY_SO_NAME = ruby.3.0
|
103
|
-
RUBYW_INSTALL_NAME =
|
104
|
-
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
|
105
|
-
RUBYW_BASE_NAME = rubyw
|
106
|
-
RUBY_BASE_NAME = ruby
|
107
|
-
|
108
|
-
arch = arm64-darwin21
|
109
|
-
sitearch = $(arch)
|
110
|
-
ruby_version = 3.0.0
|
111
|
-
ruby = $(bindir)/$(RUBY_BASE_NAME)
|
112
|
-
RUBY = $(ruby)
|
113
|
-
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h $(RUBY_EXTCONF_H)
|
114
|
-
|
115
|
-
RM = rm -f
|
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
|
120
|
-
INSTALL_PROG = $(INSTALL) -m 0755
|
121
|
-
INSTALL_DATA = $(INSTALL) -m 644
|
122
|
-
COPY = cp
|
123
|
-
TOUCH = exit >
|
124
|
-
|
125
|
-
#### End of system configuration section. ####
|
126
|
-
|
127
|
-
preload =
|
128
|
-
libpath = . $(libdir) /opt/local/lib
|
129
|
-
LIBPATH = -L. -L$(libdir) -L/opt/local/lib
|
130
|
-
DEFFILE =
|
131
|
-
|
132
|
-
CLEANFILES = mkmf.log
|
133
|
-
DISTCLEANFILES =
|
134
|
-
DISTCLEANDIRS =
|
135
|
-
|
136
|
-
extout =
|
137
|
-
extout_prefix =
|
138
|
-
target_prefix =
|
139
|
-
LOCAL_LIBS =
|
140
|
-
LIBS =
|
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
|
144
|
-
HDRS = $(srcdir)/extconf.h
|
145
|
-
LOCAL_HDRS =
|
146
|
-
TARGET = IO_Event
|
147
|
-
TARGET_NAME = IO_Event
|
148
|
-
TARGET_ENTRY = Init_$(TARGET_NAME)
|
149
|
-
DLLIB = $(TARGET).bundle
|
150
|
-
EXTSTATIC =
|
151
|
-
STATIC_LIB =
|
152
|
-
|
153
|
-
TIMESTAMP_DIR = .
|
154
|
-
BINDIR = $(bindir)
|
155
|
-
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
156
|
-
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
157
|
-
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
158
|
-
HDRDIR = $(sitehdrdir)$(target_prefix)
|
159
|
-
ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix)
|
160
|
-
TARGET_SO_DIR =
|
161
|
-
TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
|
162
|
-
CLEANLIBS = $(TARGET_SO)
|
163
|
-
CLEANOBJS = *.o *.bak
|
164
|
-
|
165
|
-
all: $(DLLIB)
|
166
|
-
static: $(STATIC_LIB)
|
167
|
-
.PHONY: all install static install-so install-rb
|
168
|
-
.PHONY: clean clean-so clean-static clean-rb
|
169
|
-
|
170
|
-
clean-static::
|
171
|
-
clean-rb-default::
|
172
|
-
clean-rb::
|
173
|
-
clean-so::
|
174
|
-
clean: clean-so clean-static clean-rb-default clean-rb
|
175
|
-
-$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
|
176
|
-
|
177
|
-
distclean-rb-default::
|
178
|
-
distclean-rb::
|
179
|
-
distclean-so::
|
180
|
-
distclean-static::
|
181
|
-
distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
|
182
|
-
-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
183
|
-
-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
184
|
-
-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
|
185
|
-
|
186
|
-
realclean: distclean
|
187
|
-
install: install-so install-rb
|
188
|
-
|
189
|
-
install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time
|
190
|
-
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
|
191
|
-
clean-static::
|
192
|
-
-$(Q)$(RM) $(STATIC_LIB)
|
193
|
-
install-rb: pre-install-rb do-install-rb install-rb-default
|
194
|
-
install-rb-default: pre-install-rb-default do-install-rb-default
|
195
|
-
pre-install-rb: Makefile
|
196
|
-
pre-install-rb-default: Makefile
|
197
|
-
do-install-rb:
|
198
|
-
do-install-rb-default:
|
199
|
-
pre-install-rb-default:
|
200
|
-
@$(NULLCMD)
|
201
|
-
$(TIMESTAMP_DIR)/.sitearchdir.time:
|
202
|
-
$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
|
203
|
-
$(Q) $(TOUCH) $@
|
204
|
-
|
205
|
-
site-install: site-install-so site-install-rb
|
206
|
-
site-install-so: install-so
|
207
|
-
site-install-rb: install-rb
|
208
|
-
|
209
|
-
.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
|
210
|
-
|
211
|
-
.cc.o:
|
212
|
-
$(ECHO) compiling $(<)
|
213
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
214
|
-
|
215
|
-
.cc.S:
|
216
|
-
$(ECHO) translating $(<)
|
217
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
218
|
-
|
219
|
-
.mm.o:
|
220
|
-
$(ECHO) compiling $(<)
|
221
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
222
|
-
|
223
|
-
.mm.S:
|
224
|
-
$(ECHO) translating $(<)
|
225
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
226
|
-
|
227
|
-
.cxx.o:
|
228
|
-
$(ECHO) compiling $(<)
|
229
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
230
|
-
|
231
|
-
.cxx.S:
|
232
|
-
$(ECHO) translating $(<)
|
233
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
234
|
-
|
235
|
-
.cpp.o:
|
236
|
-
$(ECHO) compiling $(<)
|
237
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
238
|
-
|
239
|
-
.cpp.S:
|
240
|
-
$(ECHO) translating $(<)
|
241
|
-
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
242
|
-
|
243
|
-
.c.o:
|
244
|
-
$(ECHO) compiling $(<)
|
245
|
-
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
246
|
-
|
247
|
-
.c.S:
|
248
|
-
$(ECHO) translating $(<)
|
249
|
-
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
250
|
-
|
251
|
-
.m.o:
|
252
|
-
$(ECHO) compiling $(<)
|
253
|
-
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
254
|
-
|
255
|
-
.m.S:
|
256
|
-
$(ECHO) translating $(<)
|
257
|
-
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
258
|
-
|
259
|
-
$(TARGET_SO): $(OBJS) Makefile
|
260
|
-
$(ECHO) linking shared-object $(DLLIB)
|
261
|
-
-$(Q)$(RM) $(@)
|
262
|
-
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
263
|
-
$(Q) $(POSTLINK)
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
$(OBJS): $(HDRS) $(ruby_headers)
|
data/ext/event.o
DELETED
Binary file
|
data/ext/extconf.h
DELETED
data/ext/interrupt.o
DELETED
Binary file
|
data/ext/kqueue.o
DELETED
Binary file
|
data/ext/mkmf.log
DELETED
@@ -1,291 +0,0 @@
|
|
1
|
-
have_func: checking for rb_ext_ractor_safe()... -------------------- yes
|
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 -std=c99 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
|
-
checked program was:
|
5
|
-
/* begin */
|
6
|
-
1: #include "ruby.h"
|
7
|
-
2:
|
8
|
-
3: int main(int argc, char **argv)
|
9
|
-
4: {
|
10
|
-
5: return !!argv[argc];
|
11
|
-
6: }
|
12
|
-
/* end */
|
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 -std=c99 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
|
-
checked program was:
|
16
|
-
/* begin */
|
17
|
-
1: #include "ruby.h"
|
18
|
-
2:
|
19
|
-
3: /*top*/
|
20
|
-
4: extern int t(void);
|
21
|
-
5: int main(int argc, char **argv)
|
22
|
-
6: {
|
23
|
-
7: if (argc > 1000000) {
|
24
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
25
|
-
9: printf("%d", (*tp)());
|
26
|
-
10: }
|
27
|
-
11:
|
28
|
-
12: return !!argv[argc];
|
29
|
-
13: }
|
30
|
-
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_ext_ractor_safe; return !p; }
|
31
|
-
/* end */
|
32
|
-
|
33
|
-
--------------------
|
34
|
-
|
35
|
-
have_func: checking for &rb_fiber_transfer()... -------------------- no
|
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 -std=c99 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.
|
42
|
-
checked program was:
|
43
|
-
/* begin */
|
44
|
-
1: #include "ruby.h"
|
45
|
-
2:
|
46
|
-
3: /*top*/
|
47
|
-
4: extern int t(void);
|
48
|
-
5: int main(int argc, char **argv)
|
49
|
-
6: {
|
50
|
-
7: if (argc > 1000000) {
|
51
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
52
|
-
9: printf("%d", (*tp)());
|
53
|
-
10: }
|
54
|
-
11:
|
55
|
-
12: return !!argv[argc];
|
56
|
-
13: }
|
57
|
-
14: int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_transfer; return !p; }
|
58
|
-
/* end */
|
59
|
-
|
60
|
-
--------------------
|
61
|
-
|
62
|
-
have_library: checking for -luring... -------------------- no
|
63
|
-
|
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 -std=c99 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)
|
67
|
-
checked program was:
|
68
|
-
/* begin */
|
69
|
-
1: #include "ruby.h"
|
70
|
-
2:
|
71
|
-
3: /*top*/
|
72
|
-
4: extern int t(void);
|
73
|
-
5: int main(int argc, char **argv)
|
74
|
-
6: {
|
75
|
-
7: if (argc > 1000000) {
|
76
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
77
|
-
9: printf("%d", (*tp)());
|
78
|
-
10: }
|
79
|
-
11:
|
80
|
-
12: return !!argv[argc];
|
81
|
-
13: }
|
82
|
-
14:
|
83
|
-
15: int t(void) { ; return 0; }
|
84
|
-
/* end */
|
85
|
-
|
86
|
-
--------------------
|
87
|
-
|
88
|
-
have_header: checking for sys/epoll.h... -------------------- no
|
89
|
-
|
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 -std=c99 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.
|
95
|
-
checked program was:
|
96
|
-
/* begin */
|
97
|
-
1: #include "ruby.h"
|
98
|
-
2:
|
99
|
-
3: #include <sys/epoll.h>
|
100
|
-
/* end */
|
101
|
-
|
102
|
-
--------------------
|
103
|
-
|
104
|
-
have_header: checking for sys/event.h... -------------------- yes
|
105
|
-
|
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 -std=c99 conftest.c -o conftest.i"
|
107
|
-
checked program was:
|
108
|
-
/* begin */
|
109
|
-
1: #include "ruby.h"
|
110
|
-
2:
|
111
|
-
3: #include <sys/event.h>
|
112
|
-
/* end */
|
113
|
-
|
114
|
-
--------------------
|
115
|
-
|
116
|
-
have_header: checking for sys/eventfd.h... -------------------- no
|
117
|
-
|
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 -std=c99 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.
|
123
|
-
checked program was:
|
124
|
-
/* begin */
|
125
|
-
1: #include "ruby.h"
|
126
|
-
2:
|
127
|
-
3: #include <sys/eventfd.h>
|
128
|
-
/* end */
|
129
|
-
|
130
|
-
--------------------
|
131
|
-
|
132
|
-
have_func: checking for rb_io_descriptor()... -------------------- no
|
133
|
-
|
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 -std=c99 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.
|
139
|
-
checked program was:
|
140
|
-
/* begin */
|
141
|
-
1: #include "ruby.h"
|
142
|
-
2:
|
143
|
-
3: /*top*/
|
144
|
-
4: extern int t(void);
|
145
|
-
5: int main(int argc, char **argv)
|
146
|
-
6: {
|
147
|
-
7: if (argc > 1000000) {
|
148
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
149
|
-
9: printf("%d", (*tp)());
|
150
|
-
10: }
|
151
|
-
11:
|
152
|
-
12: return !!argv[argc];
|
153
|
-
13: }
|
154
|
-
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_io_descriptor; return !p; }
|
155
|
-
/* end */
|
156
|
-
|
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 -std=c99 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-d90377.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)
|
163
|
-
checked program was:
|
164
|
-
/* begin */
|
165
|
-
1: #include "ruby.h"
|
166
|
-
2:
|
167
|
-
3: /*top*/
|
168
|
-
4: extern int t(void);
|
169
|
-
5: int main(int argc, char **argv)
|
170
|
-
6: {
|
171
|
-
7: if (argc > 1000000) {
|
172
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
173
|
-
9: printf("%d", (*tp)());
|
174
|
-
10: }
|
175
|
-
11:
|
176
|
-
12: return !!argv[argc];
|
177
|
-
13: }
|
178
|
-
14: extern void rb_io_descriptor();
|
179
|
-
15: int t(void) { rb_io_descriptor(); return 0; }
|
180
|
-
/* end */
|
181
|
-
|
182
|
-
--------------------
|
183
|
-
|
184
|
-
have_func: checking for &rb_process_status_wait()... -------------------- no
|
185
|
-
|
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 -std=c99 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.
|
191
|
-
checked program was:
|
192
|
-
/* begin */
|
193
|
-
1: #include "ruby.h"
|
194
|
-
2:
|
195
|
-
3: /*top*/
|
196
|
-
4: extern int t(void);
|
197
|
-
5: int main(int argc, char **argv)
|
198
|
-
6: {
|
199
|
-
7: if (argc > 1000000) {
|
200
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
201
|
-
9: printf("%d", (*tp)());
|
202
|
-
10: }
|
203
|
-
11:
|
204
|
-
12: return !!argv[argc];
|
205
|
-
13: }
|
206
|
-
14: int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_process_status_wait; return !p; }
|
207
|
-
/* end */
|
208
|
-
|
209
|
-
--------------------
|
210
|
-
|
211
|
-
have_func: checking for rb_fiber_current()... -------------------- yes
|
212
|
-
|
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 -std=c99 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 "
|
214
|
-
checked program was:
|
215
|
-
/* begin */
|
216
|
-
1: #include "ruby.h"
|
217
|
-
2:
|
218
|
-
3: /*top*/
|
219
|
-
4: extern int t(void);
|
220
|
-
5: int main(int argc, char **argv)
|
221
|
-
6: {
|
222
|
-
7: if (argc > 1000000) {
|
223
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
224
|
-
9: printf("%d", (*tp)());
|
225
|
-
10: }
|
226
|
-
11:
|
227
|
-
12: return !!argv[argc];
|
228
|
-
13: }
|
229
|
-
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_fiber_current; return !p; }
|
230
|
-
/* end */
|
231
|
-
|
232
|
-
--------------------
|
233
|
-
|
234
|
-
have_func: checking for &rb_fiber_raise()... -------------------- no
|
235
|
-
|
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 -std=c99 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.
|
245
|
-
checked program was:
|
246
|
-
/* begin */
|
247
|
-
1: #include "ruby.h"
|
248
|
-
2:
|
249
|
-
3: /*top*/
|
250
|
-
4: extern int t(void);
|
251
|
-
5: int main(int argc, char **argv)
|
252
|
-
6: {
|
253
|
-
7: if (argc > 1000000) {
|
254
|
-
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
255
|
-
9: printf("%d", (*tp)());
|
256
|
-
10: }
|
257
|
-
11:
|
258
|
-
12: return !!argv[argc];
|
259
|
-
13: }
|
260
|
-
14: int t(void) { const volatile void *volatile p; p = (const volatile void *)&rb_fiber_raise; return !p; }
|
261
|
-
/* end */
|
262
|
-
|
263
|
-
--------------------
|
264
|
-
|
265
|
-
have_header: checking for ruby/io/buffer.h... -------------------- no
|
266
|
-
|
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 -std=c99 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.
|
273
|
-
checked program was:
|
274
|
-
/* begin */
|
275
|
-
1: #include "ruby.h"
|
276
|
-
2:
|
277
|
-
3: #include <ruby/io/buffer.h>
|
278
|
-
/* end */
|
279
|
-
|
280
|
-
--------------------
|
281
|
-
|
282
|
-
extconf.h is:
|
283
|
-
/* begin */
|
284
|
-
1: #ifndef EXTCONF_H
|
285
|
-
2: #define EXTCONF_H
|
286
|
-
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
|
290
|
-
/* end */
|
291
|
-
|
data/ext/selector.o
DELETED
Binary file
|