io-event 1.1.4 → 1.1.5
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/ext/io/event/selector/uring.c +3 -0
- data/lib/io/event/interrupt.rb +2 -0
- data/lib/io/event/selector/select.rb +11 -5
- data/lib/io/event/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26fea80dce46f28ba71af255facb8ef1daca055ba8da63c6bc585eef3baad7b7
|
4
|
+
data.tar.gz: 5b0eeb129fc7203e0ffb9dedd5c0638ba2c05c025c47496b79491e13fc160095
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f78ca39439f5c89185f96432907f980944d778c2ceffc1f51355e810caac1b844fbb8e8e83b14a3df25d9e8205a40b5b1673052ba9eb2924a9f00639cdfbee54
|
7
|
+
data.tar.gz: 1418caaf2eb40020e1b7a984d9d77b5c63a795ede985eab0854d24ad35004304ed0fc6ea5eebf5f77ec37d13c5edff490ad6111b98d8899b2ded50cdca043cc3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -656,6 +656,9 @@ VALUE IO_Event_Selector_URing_select(VALUE self, VALUE duration) {
|
|
656
656
|
struct IO_Event_Selector_URing *data = NULL;
|
657
657
|
TypedData_Get_Struct(self, struct IO_Event_Selector_URing, &IO_Event_Selector_URing_Type, data);
|
658
658
|
|
659
|
+
// Flush any pending events:
|
660
|
+
io_uring_submit_flush(data);
|
661
|
+
|
659
662
|
int ready = IO_Event_Selector_queue_flush(&data->backend);
|
660
663
|
|
661
664
|
int result = select_process_completions(&data->ring);
|
data/lib/io/event/interrupt.rb
CHANGED
@@ -134,14 +134,20 @@ module IO::Event
|
|
134
134
|
waiter&.invalidate
|
135
135
|
end
|
136
136
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
errno == EAGAIN or errno == EWOULDBLOCK
|
137
|
+
def io_select(readable, writable, priority, timeout)
|
138
|
+
Thread.new do
|
139
|
+
IO.select(readable, writable, priority, timeout)
|
140
|
+
end.value
|
142
141
|
end
|
143
142
|
|
144
143
|
if Support.fiber_scheduler_v2?
|
144
|
+
EAGAIN = -Errno::EAGAIN::Errno
|
145
|
+
EWOULDBLOCK = -Errno::EWOULDBLOCK::Errno
|
146
|
+
|
147
|
+
def again?(errno)
|
148
|
+
errno == EAGAIN or errno == EWOULDBLOCK
|
149
|
+
end
|
150
|
+
|
145
151
|
def io_read(fiber, io, buffer, length, offset = 0)
|
146
152
|
total = 0
|
147
153
|
|
data/lib/io/event/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
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: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -41,7 +41,7 @@ cert_chain:
|
|
41
41
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
42
42
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
43
43
|
-----END CERTIFICATE-----
|
44
|
-
date:
|
44
|
+
date: 2023-01-06 00:00:00.000000000 Z
|
45
45
|
dependencies:
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: bake
|
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
152
|
requirements: []
|
153
|
-
rubygems_version: 3.
|
153
|
+
rubygems_version: 3.4.1
|
154
154
|
signing_key:
|
155
155
|
specification_version: 4
|
156
156
|
summary: An event loop.
|
metadata.gz.sig
CHANGED
Binary file
|