io-event 1.0.4 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/ext/io/event/selector/epoll.c +38 -10
- data/ext/io/event/selector/uring.c +3 -3
- data/lib/io/event/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +34 -13
- metadata.gz.sig +0 -0
- 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: 9f83ab57c44b58bfd257acaa093dddf3f2b2b9ee444b64abacd2a872a741d429
|
4
|
+
data.tar.gz: 85e665f83983f2796001f84a9199a7f285c7e641920d647762785b6cd5e7253e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f73a3744ed94bec2a42c0ef405d7bf14c1f58d3f2ac04edc28c4fc97de21a6cb7f8e6c142ef8477f93a044b17a6d5c27fc372b8b8f7545228e9e0885ef0f4fc6
|
7
|
+
data.tar.gz: 555b411452da5fc65a425d37fae32af486bdcf3c4e9d5721c48a927847420eb1d5bdf0c668fdd13d25ac7551d7b127d7d050b540d580d5db689b2ff04d8130f0
|
checksums.yaml.gz.sig
ADDED
Binary file
|
@@ -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
|
|
@@ -239,7 +241,7 @@ VALUE IO_Event_Selector_EPoll_process_wait(VALUE self, VALUE fiber, VALUE pid, V
|
|
239
241
|
rb_update_max_fd(process_wait_arguments.descriptor);
|
240
242
|
|
241
243
|
struct epoll_event event = {
|
242
|
-
.events = EPOLLIN|
|
244
|
+
.events = EPOLLIN|EPOLLERR|EPOLLHUP|EPOLLONESHOT,
|
243
245
|
.data = {.ptr = (void*)fiber},
|
244
246
|
};
|
245
247
|
|
@@ -261,9 +263,14 @@ uint32_t epoll_flags_from_events(int events) {
|
|
261
263
|
if (events & IO_EVENT_PRIORITY) flags |= EPOLLPRI;
|
262
264
|
if (events & IO_EVENT_WRITABLE) flags |= EPOLLOUT;
|
263
265
|
|
264
|
-
flags |=
|
266
|
+
flags |= EPOLLHUP;
|
267
|
+
flags |= EPOLLERR;
|
268
|
+
|
269
|
+
// Immediately remove this descriptor after reading one event:
|
265
270
|
flags |= EPOLLONESHOT;
|
266
271
|
|
272
|
+
if (DEBUG) fprintf(stderr, "epoll_flags_from_events events=%d flags=%d\n", events, flags);
|
273
|
+
|
267
274
|
return flags;
|
268
275
|
}
|
269
276
|
|
@@ -271,7 +278,11 @@ static inline
|
|
271
278
|
int events_from_epoll_flags(uint32_t flags) {
|
272
279
|
int events = 0;
|
273
280
|
|
274
|
-
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;
|
275
286
|
if (flags & EPOLLPRI) events |= IO_EVENT_PRIORITY;
|
276
287
|
if (flags & EPOLLOUT) events |= IO_EVENT_WRITABLE;
|
277
288
|
|
@@ -305,11 +316,16 @@ VALUE io_wait_transfer(VALUE _arguments) {
|
|
305
316
|
|
306
317
|
VALUE result = IO_Event_Selector_fiber_transfer(arguments->data->backend.loop, 0, NULL);
|
307
318
|
|
319
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer errno=%d\n", errno);
|
320
|
+
|
308
321
|
// If the fiber is being cancelled, it might be resumed with nil:
|
309
322
|
if (!RTEST(result)) {
|
323
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer flags=false\n");
|
310
324
|
return Qfalse;
|
311
325
|
}
|
312
326
|
|
327
|
+
if (DEBUG) fprintf(stderr, "io_wait_transfer flags=%d\n", NUM2INT(result));
|
328
|
+
|
313
329
|
return INT2NUM(events_from_epoll_flags(NUM2INT(result)));
|
314
330
|
};
|
315
331
|
|
@@ -325,26 +341,38 @@ VALUE IO_Event_Selector_EPoll_io_wait(VALUE self, VALUE fiber, VALUE io, VALUE e
|
|
325
341
|
event.events = epoll_flags_from_events(NUM2INT(events));
|
326
342
|
event.data.ptr = (void*)fiber;
|
327
343
|
|
328
|
-
|
344
|
+
if (DEBUG) fprintf(stderr, "<- fiber=%p descriptor=%d\n", (void*)fiber, descriptor);
|
329
345
|
|
330
346
|
// A better approach is to batch all changes:
|
331
347
|
int result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
|
332
348
|
|
333
349
|
if (result == -1 && errno == EEXIST) {
|
334
350
|
// The file descriptor was already inserted into epoll.
|
335
|
-
duplicate =
|
336
|
-
|
337
|
-
rb_update_max_fd(duplicate);
|
351
|
+
duplicate = dup(descriptor);
|
338
352
|
|
339
|
-
if (
|
353
|
+
if (duplicate == -1) {
|
340
354
|
rb_sys_fail("IO_Event_Selector_EPoll_io_wait:dup");
|
341
355
|
}
|
342
356
|
|
357
|
+
descriptor = duplicate;
|
358
|
+
|
359
|
+
rb_update_max_fd(descriptor);
|
360
|
+
|
343
361
|
result = epoll_ctl(data->descriptor, EPOLL_CTL_ADD, descriptor, &event);
|
344
362
|
}
|
345
363
|
|
346
364
|
if (result == -1) {
|
347
|
-
|
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
|
+
|
348
376
|
rb_sys_fail("IO_Event_Selector_EPoll_io_wait:epoll_ctl");
|
349
377
|
}
|
350
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
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,17 +1,46 @@
|
|
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.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
|
-
-
|
8
|
+
- Bruno Sutic
|
9
9
|
- Benoit Daloze
|
10
10
|
- Delton Ding
|
11
|
+
- machty
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
|
-
cert_chain:
|
14
|
-
|
14
|
+
cert_chain:
|
15
|
+
- |
|
16
|
+
-----BEGIN CERTIFICATE-----
|
17
|
+
MIIEhDCCAuygAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDDCxzYW11
|
18
|
+
ZWwud2lsbGlhbXMvREM9b3Jpb250cmFuc2Zlci9EQz1jby9EQz1uejAeFw0yMTA4
|
19
|
+
MTYwNjMzNDRaFw0yMjA4MTYwNjMzNDRaMDcxNTAzBgNVBAMMLHNhbXVlbC53aWxs
|
20
|
+
aWFtcy9EQz1vcmlvbnRyYW5zZmVyL0RDPWNvL0RDPW56MIIBojANBgkqhkiG9w0B
|
21
|
+
AQEFAAOCAY8AMIIBigKCAYEAyXLSS/cw+fXJ5e7hi+U/TeChPWeYdwJojDsFY1xr
|
22
|
+
xvtqbTTL8gbLHz5LW3QD2nfwCv3qTlw0qI3Ie7a9VMJMbSvgVEGEfQirqIgJXWMj
|
23
|
+
eNMDgKsMJtC7u/43abRKx7TCURW3iWyR19NRngsJJmaR51yGGGm2Kfsr+JtKKLtL
|
24
|
+
L188Wm3f13KAx7QJU8qyuBnj1/gWem076hzdA7xi1DbrZrch9GCRz62xymJlrJHn
|
25
|
+
9iZEZ7AxrS7vokhMlzSr/XMUihx/8aFKtk+tMLClqxZSmBWIErWdicCGTULXCBNb
|
26
|
+
E/mljo4zEVKhlTWpJklMIhr55ZRrSarKFuW7en0+tpJrfsYiAmXMJNi4XAYJH7uL
|
27
|
+
rgJuJwSaa/dMz+VmUoo7VKtSfCoOI+6v5/z0sK3oT6sG6ZwyI47DBq2XqNC6tnAj
|
28
|
+
w+XmCywiTQrFzMMAvcA7rPI4F0nU1rZId51rOvvfxaONp+wgTi4P8owZLw0/j0m4
|
29
|
+
8C20DYi6EYx4AHDXiLpElWh3AgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8E
|
30
|
+
BAMCBLAwHQYDVR0OBBYEFB6ZaeWKxQjGTI+pmz7cKRmMIywwMC4GA1UdEQQnMCWB
|
31
|
+
I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWB
|
32
|
+
I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEB
|
33
|
+
CwUAA4IBgQBVoM+pu3dpdUhZM1w051iw5GfiqclAr1Psypf16Tiod/ho//4oAu6T
|
34
|
+
9fj3DPX/acWV9P/FScvqo4Qgv6g4VWO5ZU7z2JmPoTXZtYMunRAmQPFL/gSUc6aK
|
35
|
+
vszMHIyhtyzRc6DnfW2AiVOjMBjaYv8xXZc9bduniRVPrLR4J7ozmGLh4o4uJp7w
|
36
|
+
x9KCFaR8Lvn/r0oJWJOqb/DMAYI83YeN2Dlt3jpwrsmsONrtC5S3gOUle5afSGos
|
37
|
+
bYt5ocnEpKSomR9ZtnCGljds/aeO1Xgpn2r9HHcjwnH346iNrnHmMlC7BtHUFPDg
|
38
|
+
Ts92S47PTOXzwPBDsrFiq3VLbRjHSwf8rpqybQBH9MfzxGGxTaETQYOd6b4e4Ag6
|
39
|
+
y92abGna0bmIEb4+Tx9rQ10Uijh1POzvr/VTH4bbIPy9FbKrRsIQ24qDbNJRtOpE
|
40
|
+
RAOsIl+HOBTb252nx1kIRN5hqQx272AJCbCjKx8egcUQKffFVVCI0nye09v5CK+a
|
41
|
+
HiLJ8VOFx6w=
|
42
|
+
-----END CERTIFICATE-----
|
43
|
+
date: 2022-05-03 00:00:00.000000000 Z
|
15
44
|
dependencies:
|
16
45
|
- !ruby/object:Gem::Dependency
|
17
46
|
name: bake
|
@@ -76,12 +105,7 @@ extensions:
|
|
76
105
|
- ext/extconf.rb
|
77
106
|
extra_rdoc_files: []
|
78
107
|
files:
|
79
|
-
- ext/IO_Event.bundle
|
80
|
-
- ext/Makefile
|
81
|
-
- ext/event.o
|
82
|
-
- ext/extconf.h
|
83
108
|
- ext/extconf.rb
|
84
|
-
- ext/interrupt.o
|
85
109
|
- ext/io/event/event.c
|
86
110
|
- ext/io/event/event.h
|
87
111
|
- ext/io/event/interrupt.c
|
@@ -95,9 +119,6 @@ files:
|
|
95
119
|
- ext/io/event/selector/selector.h
|
96
120
|
- ext/io/event/selector/uring.c
|
97
121
|
- ext/io/event/selector/uring.h
|
98
|
-
- ext/kqueue.o
|
99
|
-
- ext/mkmf.log
|
100
|
-
- ext/selector.o
|
101
122
|
- lib/io/event.rb
|
102
123
|
- lib/io/event/debug/selector.rb
|
103
124
|
- lib/io/event/interrupt.rb
|
@@ -123,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
144
|
- !ruby/object:Gem::Version
|
124
145
|
version: '0'
|
125
146
|
requirements: []
|
126
|
-
rubygems_version: 3.3.
|
147
|
+
rubygems_version: 3.3.7
|
127
148
|
signing_key:
|
128
149
|
specification_version: 4
|
129
150
|
summary: An event loop.
|
metadata.gz.sig
ADDED
Binary file
|
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
|