polyphony 0.85 → 0.86
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/ext/polyphony/io_extensions.c +2 -3
- data/lib/polyphony/version.rb +1 -1
- data/polyphony.gemspec +1 -1
- data/test/test_backend.rb +1 -1
- data/test/test_signal.rb +3 -3
- data/vendor/liburing/.github/pull_request_template.md +86 -0
- data/vendor/liburing/.github/workflows/build.yml +85 -0
- data/vendor/liburing/.github/workflows/shellcheck.yml +20 -0
- data/vendor/liburing/.gitignore +149 -0
- data/vendor/liburing/COPYING +502 -0
- data/vendor/liburing/COPYING.GPL +339 -0
- data/vendor/liburing/LICENSE +7 -0
- data/vendor/liburing/Makefile +82 -0
- data/vendor/liburing/Makefile.common +5 -0
- data/vendor/liburing/Makefile.quiet +11 -0
- data/vendor/liburing/README +46 -0
- data/vendor/liburing/configure +486 -0
- data/vendor/liburing/debian/README.Debian +7 -0
- data/vendor/liburing/debian/changelog +27 -0
- data/vendor/liburing/debian/compat +1 -0
- data/vendor/liburing/debian/control +48 -0
- data/vendor/liburing/debian/copyright +49 -0
- data/vendor/liburing/debian/liburing-dev.install +4 -0
- data/vendor/liburing/debian/liburing-dev.manpages +6 -0
- data/vendor/liburing/debian/liburing1-udeb.install +1 -0
- data/vendor/liburing/debian/liburing1.install +1 -0
- data/vendor/liburing/debian/liburing1.symbols +32 -0
- data/vendor/liburing/debian/patches/series +1 -0
- data/vendor/liburing/debian/rules +81 -0
- data/vendor/liburing/debian/source/format +1 -0
- data/vendor/liburing/debian/source/local-options +2 -0
- data/vendor/liburing/debian/source/options +1 -0
- data/vendor/liburing/debian/watch +3 -0
- data/vendor/liburing/examples/Makefile +38 -0
- data/vendor/liburing/examples/io_uring-cp.c +282 -0
- data/vendor/liburing/examples/io_uring-test.c +112 -0
- data/vendor/liburing/examples/link-cp.c +193 -0
- data/vendor/liburing/examples/ucontext-cp.c +273 -0
- data/vendor/liburing/liburing.pc.in +12 -0
- data/vendor/liburing/liburing.spec +66 -0
- data/vendor/liburing/make-debs.sh +53 -0
- data/vendor/liburing/man/io_uring.7 +754 -0
- data/vendor/liburing/man/io_uring_cq_advance.3 +35 -0
- data/vendor/liburing/man/io_uring_cq_ready.3 +25 -0
- data/vendor/liburing/man/io_uring_cqe_get_data.3 +34 -0
- data/vendor/liburing/man/io_uring_cqe_seen.3 +32 -0
- data/vendor/liburing/man/io_uring_enter.2 +1483 -0
- data/vendor/liburing/man/io_uring_free_probe.3 +24 -0
- data/vendor/liburing/man/io_uring_get_probe.3 +29 -0
- data/vendor/liburing/man/io_uring_get_sqe.3 +38 -0
- data/vendor/liburing/man/io_uring_opcode_supported.3 +29 -0
- data/vendor/liburing/man/io_uring_prep_msg_ring.3 +58 -0
- data/vendor/liburing/man/io_uring_prep_read.3 +50 -0
- data/vendor/liburing/man/io_uring_prep_read_fixed.3 +54 -0
- data/vendor/liburing/man/io_uring_prep_readv.3 +51 -0
- data/vendor/liburing/man/io_uring_prep_readv2.3 +79 -0
- data/vendor/liburing/man/io_uring_prep_write.3 +50 -0
- data/vendor/liburing/man/io_uring_prep_write_fixed.3 +54 -0
- data/vendor/liburing/man/io_uring_prep_writev.3 +51 -0
- data/vendor/liburing/man/io_uring_prep_writev2.3 +78 -0
- data/vendor/liburing/man/io_uring_queue_exit.3 +27 -0
- data/vendor/liburing/man/io_uring_queue_init.3 +44 -0
- data/vendor/liburing/man/io_uring_register.2 +688 -0
- data/vendor/liburing/man/io_uring_register_buffers.3 +41 -0
- data/vendor/liburing/man/io_uring_register_files.3 +35 -0
- data/vendor/liburing/man/io_uring_setup.2 +534 -0
- data/vendor/liburing/man/io_uring_sq_ready.3 +25 -0
- data/vendor/liburing/man/io_uring_sq_space_left.3 +25 -0
- data/vendor/liburing/man/io_uring_sqe_set_data.3 +30 -0
- data/vendor/liburing/man/io_uring_sqe_set_flags.3 +60 -0
- data/vendor/liburing/man/io_uring_sqring_wait.3 +30 -0
- data/vendor/liburing/man/io_uring_submit.3 +29 -0
- data/vendor/liburing/man/io_uring_submit_and_wait.3 +34 -0
- data/vendor/liburing/man/io_uring_submit_and_wait_timeout.3 +49 -0
- data/vendor/liburing/man/io_uring_unregister_buffers.3 +26 -0
- data/vendor/liburing/man/io_uring_unregister_files.3 +26 -0
- data/vendor/liburing/man/io_uring_wait_cqe.3 +33 -0
- data/vendor/liburing/man/io_uring_wait_cqe_nr.3 +36 -0
- data/vendor/liburing/man/io_uring_wait_cqe_timeout.3 +39 -0
- data/vendor/liburing/man/io_uring_wait_cqes.3 +46 -0
- data/vendor/liburing/src/Makefile +89 -0
- data/vendor/liburing/src/arch/aarch64/syscall.h +95 -0
- data/vendor/liburing/src/arch/generic/lib.h +21 -0
- data/vendor/liburing/src/arch/generic/syscall.h +87 -0
- data/vendor/liburing/src/arch/syscall-defs.h +67 -0
- data/vendor/liburing/src/arch/x86/lib.h +32 -0
- data/vendor/liburing/src/arch/x86/syscall.h +160 -0
- data/vendor/liburing/src/include/liburing/barrier.h +81 -0
- data/vendor/liburing/src/include/liburing/io_uring.h +442 -0
- data/vendor/liburing/src/include/liburing.h +921 -0
- data/vendor/liburing/src/int_flags.h +8 -0
- data/vendor/liburing/src/lib.h +57 -0
- data/vendor/liburing/src/liburing.map +53 -0
- data/vendor/liburing/src/nolibc.c +48 -0
- data/vendor/liburing/src/queue.c +403 -0
- data/vendor/liburing/src/register.c +293 -0
- data/vendor/liburing/src/setup.c +332 -0
- data/vendor/liburing/src/syscall.c +47 -0
- data/vendor/liburing/src/syscall.h +103 -0
- data/vendor/liburing/test/232c93d07b74-test.c +306 -0
- data/vendor/liburing/test/35fa71a030ca-test.c +329 -0
- data/vendor/liburing/test/500f9fbadef8-test.c +89 -0
- data/vendor/liburing/test/7ad0e4b2f83c-test.c +93 -0
- data/vendor/liburing/test/8a9973408177-test.c +106 -0
- data/vendor/liburing/test/917257daa0fe-test.c +53 -0
- data/vendor/liburing/test/Makefile +244 -0
- data/vendor/liburing/test/a0908ae19763-test.c +58 -0
- data/vendor/liburing/test/a4c0b3decb33-test.c +180 -0
- data/vendor/liburing/test/accept-link.c +254 -0
- data/vendor/liburing/test/accept-reuse.c +164 -0
- data/vendor/liburing/test/accept-test.c +79 -0
- data/vendor/liburing/test/accept.c +477 -0
- data/vendor/liburing/test/across-fork.c +283 -0
- data/vendor/liburing/test/b19062a56726-test.c +53 -0
- data/vendor/liburing/test/b5837bd5311d-test.c +77 -0
- data/vendor/liburing/test/ce593a6c480a-test.c +136 -0
- data/vendor/liburing/test/close-opath.c +122 -0
- data/vendor/liburing/test/config +10 -0
- data/vendor/liburing/test/connect.c +398 -0
- data/vendor/liburing/test/cq-full.c +96 -0
- data/vendor/liburing/test/cq-overflow.c +294 -0
- data/vendor/liburing/test/cq-peek-batch.c +102 -0
- data/vendor/liburing/test/cq-ready.c +94 -0
- data/vendor/liburing/test/cq-size.c +64 -0
- data/vendor/liburing/test/d4ae271dfaae-test.c +96 -0
- data/vendor/liburing/test/d77a67ed5f27-test.c +65 -0
- data/vendor/liburing/test/defer.c +307 -0
- data/vendor/liburing/test/double-poll-crash.c +185 -0
- data/vendor/liburing/test/drop-submit.c +92 -0
- data/vendor/liburing/test/eeed8b54e0df-test.c +114 -0
- data/vendor/liburing/test/empty-eownerdead.c +45 -0
- data/vendor/liburing/test/eventfd-disable.c +151 -0
- data/vendor/liburing/test/eventfd-reg.c +76 -0
- data/vendor/liburing/test/eventfd-ring.c +97 -0
- data/vendor/liburing/test/eventfd.c +112 -0
- data/vendor/liburing/test/exec-target.c +6 -0
- data/vendor/liburing/test/exit-no-cleanup.c +117 -0
- data/vendor/liburing/test/fadvise.c +202 -0
- data/vendor/liburing/test/fallocate.c +249 -0
- data/vendor/liburing/test/fc2a85cb02ef-test.c +131 -0
- data/vendor/liburing/test/file-register.c +858 -0
- data/vendor/liburing/test/file-update.c +173 -0
- data/vendor/liburing/test/file-verify.c +629 -0
- data/vendor/liburing/test/files-exit-hang-poll.c +128 -0
- data/vendor/liburing/test/files-exit-hang-timeout.c +134 -0
- data/vendor/liburing/test/fixed-link.c +90 -0
- data/vendor/liburing/test/fpos.c +252 -0
- data/vendor/liburing/test/fsync.c +224 -0
- data/vendor/liburing/test/hardlink.c +136 -0
- data/vendor/liburing/test/helpers.c +135 -0
- data/vendor/liburing/test/helpers.h +67 -0
- data/vendor/liburing/test/io-cancel.c +550 -0
- data/vendor/liburing/test/io_uring_enter.c +296 -0
- data/vendor/liburing/test/io_uring_register.c +676 -0
- data/vendor/liburing/test/io_uring_setup.c +192 -0
- data/vendor/liburing/test/iopoll.c +372 -0
- data/vendor/liburing/test/lfs-openat-write.c +119 -0
- data/vendor/liburing/test/lfs-openat.c +275 -0
- data/vendor/liburing/test/link-timeout.c +1107 -0
- data/vendor/liburing/test/link.c +496 -0
- data/vendor/liburing/test/link_drain.c +229 -0
- data/vendor/liburing/test/madvise.c +195 -0
- data/vendor/liburing/test/mkdir.c +108 -0
- data/vendor/liburing/test/msg-ring.c +234 -0
- data/vendor/liburing/test/multicqes_drain.c +387 -0
- data/vendor/liburing/test/nop-all-sizes.c +99 -0
- data/vendor/liburing/test/nop.c +115 -0
- data/vendor/liburing/test/open-close.c +261 -0
- data/vendor/liburing/test/openat2.c +308 -0
- data/vendor/liburing/test/personality.c +204 -0
- data/vendor/liburing/test/pipe-eof.c +83 -0
- data/vendor/liburing/test/pipe-reuse.c +105 -0
- data/vendor/liburing/test/poll-cancel-ton.c +135 -0
- data/vendor/liburing/test/poll-cancel.c +228 -0
- data/vendor/liburing/test/poll-link.c +230 -0
- data/vendor/liburing/test/poll-many.c +208 -0
- data/vendor/liburing/test/poll-mshot-update.c +273 -0
- data/vendor/liburing/test/poll-ring.c +48 -0
- data/vendor/liburing/test/poll-v-poll.c +353 -0
- data/vendor/liburing/test/poll.c +109 -0
- data/vendor/liburing/test/pollfree.c +426 -0
- data/vendor/liburing/test/probe.c +135 -0
- data/vendor/liburing/test/read-write.c +876 -0
- data/vendor/liburing/test/register-restrictions.c +633 -0
- data/vendor/liburing/test/rename.c +135 -0
- data/vendor/liburing/test/ring-leak.c +173 -0
- data/vendor/liburing/test/ring-leak2.c +249 -0
- data/vendor/liburing/test/rsrc_tags.c +449 -0
- data/vendor/liburing/test/runtests-loop.sh +16 -0
- data/vendor/liburing/test/runtests.sh +170 -0
- data/vendor/liburing/test/rw_merge_test.c +97 -0
- data/vendor/liburing/test/self.c +91 -0
- data/vendor/liburing/test/send_recv.c +286 -0
- data/vendor/liburing/test/send_recvmsg.c +345 -0
- data/vendor/liburing/test/sendmsg_fs_cve.c +200 -0
- data/vendor/liburing/test/shared-wq.c +84 -0
- data/vendor/liburing/test/short-read.c +75 -0
- data/vendor/liburing/test/shutdown.c +165 -0
- data/vendor/liburing/test/sigfd-deadlock.c +74 -0
- data/vendor/liburing/test/skip-cqe.c +429 -0
- data/vendor/liburing/test/socket-rw-eagain.c +158 -0
- data/vendor/liburing/test/socket-rw-offset.c +157 -0
- data/vendor/liburing/test/socket-rw.c +145 -0
- data/vendor/liburing/test/splice.c +512 -0
- data/vendor/liburing/test/sq-full-cpp.cc +45 -0
- data/vendor/liburing/test/sq-full.c +45 -0
- data/vendor/liburing/test/sq-poll-dup.c +204 -0
- data/vendor/liburing/test/sq-poll-kthread.c +169 -0
- data/vendor/liburing/test/sq-poll-share.c +137 -0
- data/vendor/liburing/test/sq-space_left.c +159 -0
- data/vendor/liburing/test/sqpoll-cancel-hang.c +157 -0
- data/vendor/liburing/test/sqpoll-disable-exit.c +196 -0
- data/vendor/liburing/test/sqpoll-exit-hang.c +78 -0
- data/vendor/liburing/test/sqpoll-sleep.c +69 -0
- data/vendor/liburing/test/statx.c +172 -0
- data/vendor/liburing/test/stdout.c +232 -0
- data/vendor/liburing/test/submit-link-fail.c +154 -0
- data/vendor/liburing/test/submit-reuse.c +239 -0
- data/vendor/liburing/test/symlink.c +116 -0
- data/vendor/liburing/test/teardowns.c +58 -0
- data/vendor/liburing/test/thread-exit.c +143 -0
- data/vendor/liburing/test/timeout-new.c +252 -0
- data/vendor/liburing/test/timeout-overflow.c +204 -0
- data/vendor/liburing/test/timeout.c +1523 -0
- data/vendor/liburing/test/unlink.c +112 -0
- data/vendor/liburing/test/wakeup-hang.c +162 -0
- metadata +223 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b87dae4e2c17055e8206c820a4281774cdf3127195173948c97df4eb09a2bd13
|
4
|
+
data.tar.gz: 2e7bd958ec7435569423398069223eda41e9c2d89f580627bc22e9054276dd1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48f6489939da965463735c83acb4372263eb44b48b5a16da1e704a15e3af971a5d43abd7da5e44f2455b40d880413c6fa8159794e663176c83a11eddebdebc7d
|
7
|
+
data.tar.gz: 3ada5f9041041e91b6b2a7f31ec609352752317e87c51df090517c9e2b556d9ef69ef8842babd15f25b2257c4226431520ff15df505748cb38bb4a1d5a19063c
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -42,7 +42,7 @@ enum write_method {
|
|
42
42
|
WM_CALL
|
43
43
|
};
|
44
44
|
|
45
|
-
enum read_method detect_read_method(VALUE io) {
|
45
|
+
static enum read_method detect_read_method(VALUE io) {
|
46
46
|
if (rb_respond_to(io, ID_read_method)) {
|
47
47
|
VALUE method = rb_funcall(io, ID_read_method, 0);
|
48
48
|
if (method == SYM_readpartial) return RM_READPARTIAL;
|
@@ -58,7 +58,7 @@ enum read_method detect_read_method(VALUE io) {
|
|
58
58
|
rb_raise(rb_eRuntimeError, "Given io instance should be a callable or respond to #__read_method__");
|
59
59
|
}
|
60
60
|
|
61
|
-
enum write_method detect_write_method(VALUE io) {
|
61
|
+
static enum write_method detect_write_method(VALUE io) {
|
62
62
|
if (rb_respond_to(io, ID_write_method)) {
|
63
63
|
VALUE method = rb_funcall(io, ID_write_method, 0);
|
64
64
|
if (method == SYM_readpartial) return WM_WRITE;
|
@@ -140,7 +140,6 @@ static inline int read_to_raw_buffer(VALUE backend, VALUE io, enum read_method m
|
|
140
140
|
}
|
141
141
|
|
142
142
|
static inline int write_from_raw_buffer(VALUE backend, VALUE io, enum write_method method, struct raw_buffer *buffer) {
|
143
|
-
printf("write_from_raw_buffer len: %d\n", buffer->len);
|
144
143
|
switch (method) {
|
145
144
|
case WM_BACKEND_WRITE: {
|
146
145
|
VALUE len = Backend_write(backend, io, PTR2FIX(buffer));
|
data/lib/polyphony/version.rb
CHANGED
data/polyphony.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.summary = 'Fine grained concurrency for Ruby'
|
8
8
|
s.author = 'Sharon Rosner'
|
9
9
|
s.email = 'sharon@noteflakes.com'
|
10
|
-
s.files = `git ls-files`.split
|
10
|
+
s.files = `git ls-files --recurse-submodules`.split
|
11
11
|
s.homepage = 'https://digital-fabric.github.io/polyphony'
|
12
12
|
s.metadata = {
|
13
13
|
"source_code_uri" => "https://github.com/digital-fabric/polyphony",
|
data/test/test_backend.rb
CHANGED
@@ -254,7 +254,7 @@ class BackendTest < MiniTest::Test
|
|
254
254
|
@backend.sleep(0.05)
|
255
255
|
f.stop
|
256
256
|
f.await # TODO: check why this test sometimes segfaults if we don't a<wait fiber
|
257
|
-
assert_in_range
|
257
|
+
assert_in_range 3..6, counter if IS_LINUX
|
258
258
|
end
|
259
259
|
|
260
260
|
class MyTimeoutException < Exception
|
data/test/test_signal.rb
CHANGED
@@ -16,10 +16,12 @@ class SignalTrapTest < Minitest::Test
|
|
16
16
|
end
|
17
17
|
|
18
18
|
events = []
|
19
|
+
Fiber.current.tag = :main
|
20
|
+
|
19
21
|
begin
|
20
22
|
Thread.backend.trace_proc = proc { |*e| events << [e[0], e[1].tag] }
|
21
23
|
trap ('SIGINT') { }
|
22
|
-
|
24
|
+
|
23
25
|
o1.orig_write("\n")
|
24
26
|
o1.close
|
25
27
|
|
@@ -30,8 +32,6 @@ class SignalTrapTest < Minitest::Test
|
|
30
32
|
trap ('SIGINT') { raise Interrupt }
|
31
33
|
end
|
32
34
|
|
33
|
-
Fiber.current.tag = :main
|
34
|
-
|
35
35
|
expected = [
|
36
36
|
[:block, :main],
|
37
37
|
[:enter_poll, :main],
|
@@ -0,0 +1,86 @@
|
|
1
|
+
|
2
|
+
<!-- Explain your changes here... -->
|
3
|
+
|
4
|
+
----
|
5
|
+
## git request-pull output:
|
6
|
+
```
|
7
|
+
<!-- START REPLACE ME -->
|
8
|
+
|
9
|
+
Generate your PR shortlog and diffstat with these commands:
|
10
|
+
git remote add axboe-tree https://github.com/axboe/liburing
|
11
|
+
git fetch axboe-tree
|
12
|
+
git request-pull axboe-tree/master your_fork_URL your_branch_name
|
13
|
+
|
14
|
+
Then replace this with the output of `git request-pull` command.
|
15
|
+
|
16
|
+
<!-- END REPLACE ME -->
|
17
|
+
```
|
18
|
+
----
|
19
|
+
<details>
|
20
|
+
<summary>Click to show/hide pull request guidelines</summary>
|
21
|
+
|
22
|
+
## Pull Request Guidelines
|
23
|
+
1. To make everyone easily filter pull request from the email
|
24
|
+
notification, use `[GIT PULL]` as a prefix in your PR title.
|
25
|
+
```
|
26
|
+
[GIT PULL] Your Pull Request Title
|
27
|
+
```
|
28
|
+
2. Follow the commit message format rules below.
|
29
|
+
3. Follow the Linux kernel coding style (see: https://github.com/torvalds/linux/blob/master/Documentation/process/coding-style.rst).
|
30
|
+
|
31
|
+
### Commit message format rules:
|
32
|
+
1. The first line is title (don't be more than 72 chars if possible).
|
33
|
+
2. Then an empty line.
|
34
|
+
3. Then a description (may be omitted for truly trivial changes).
|
35
|
+
4. Then an empty line again (if it has a description).
|
36
|
+
5. Then a `Signed-off-by` tag with your real name and email. For example:
|
37
|
+
```
|
38
|
+
Signed-off-by: Foo Bar <foo.bar@gmail.com>
|
39
|
+
```
|
40
|
+
|
41
|
+
The description should be word-wrapped at 72 chars. Some things should
|
42
|
+
not be word-wrapped. They may be some kind of quoted text - long
|
43
|
+
compiler error messages, oops reports, Link, etc. (things that have a
|
44
|
+
certain specific format).
|
45
|
+
|
46
|
+
Note that all of this goes in the commit message, not in the pull
|
47
|
+
request text. The pull request text should introduce what this pull
|
48
|
+
request does, and each commit message should explain the rationale for
|
49
|
+
why that particular change was made. The git tree is canonical source
|
50
|
+
of truth, not github.
|
51
|
+
|
52
|
+
Each patch should do one thing, and one thing only. If you find yourself
|
53
|
+
writing an explanation for why a patch is fixing multiple issues, that's
|
54
|
+
a good indication that the change should be split into separate patches.
|
55
|
+
|
56
|
+
If the commit is a fix for an issue, add a `Fixes` tag with the issue
|
57
|
+
URL.
|
58
|
+
|
59
|
+
Don't use GitHub anonymous email like this as the commit author:
|
60
|
+
```
|
61
|
+
123456789+username@users.noreply.github.com
|
62
|
+
```
|
63
|
+
|
64
|
+
Use a real email address!
|
65
|
+
|
66
|
+
### Commit message example:
|
67
|
+
```
|
68
|
+
src/queue: don't flush SQ ring for new wait interface
|
69
|
+
|
70
|
+
If we have IORING_FEAT_EXT_ARG, then timeouts are done through the
|
71
|
+
syscall instead of by posting an internal timeout. This was done
|
72
|
+
to be both more efficient, but also to enable multi-threaded use
|
73
|
+
the wait side. If we touch the SQ state by flushing it, that isn't
|
74
|
+
safe without synchronization.
|
75
|
+
|
76
|
+
Fixes: https://github.com/axboe/liburing/issues/402
|
77
|
+
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
78
|
+
```
|
79
|
+
|
80
|
+
</details>
|
81
|
+
|
82
|
+
----
|
83
|
+
## By submitting this pull request, I acknowledge that:
|
84
|
+
1. I have followed the above pull request guidelines.
|
85
|
+
2. I have the rights to submit this work under the same license.
|
86
|
+
3. I agree to a Developer Certificate of Origin (see https://developercertificate.org for more information).
|
@@ -0,0 +1,85 @@
|
|
1
|
+
name: Build test
|
2
|
+
|
3
|
+
on:
|
4
|
+
# Trigger the workflow on push or pull requests.
|
5
|
+
push:
|
6
|
+
pull_request:
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
build:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
strategy:
|
13
|
+
fail-fast: false
|
14
|
+
matrix:
|
15
|
+
include:
|
16
|
+
# x86-64 gcc
|
17
|
+
- arch: x86_64
|
18
|
+
cc_pkg: gcc-x86-64-linux-gnu
|
19
|
+
cxx_pkg: g++-x86-64-linux-gnu
|
20
|
+
cc: x86_64-linux-gnu-gcc
|
21
|
+
cxx: x86_64-linux-gnu-g++
|
22
|
+
|
23
|
+
# x86-64 clang
|
24
|
+
- arch: x86_64
|
25
|
+
cc_pkg: clang
|
26
|
+
cxx_pkg: clang
|
27
|
+
cc: clang
|
28
|
+
cxx: clang++
|
29
|
+
|
30
|
+
# x86 (32-bit) gcc
|
31
|
+
- arch: i686
|
32
|
+
cc_pkg: gcc-i686-linux-gnu
|
33
|
+
cxx_pkg: g++-i686-linux-gnu
|
34
|
+
cc: i686-linux-gnu-gcc
|
35
|
+
cxx: i686-linux-gnu-g++
|
36
|
+
|
37
|
+
# aarch64 gcc
|
38
|
+
- arch: aarch64
|
39
|
+
cc_pkg: gcc-aarch64-linux-gnu
|
40
|
+
cxx_pkg: g++-aarch64-linux-gnu
|
41
|
+
cc: aarch64-linux-gnu-gcc
|
42
|
+
cxx: aarch64-linux-gnu-g++
|
43
|
+
|
44
|
+
# arm (32-bit) gcc
|
45
|
+
- arch: arm
|
46
|
+
cc_pkg: gcc-arm-linux-gnueabi
|
47
|
+
cxx_pkg: g++-arm-linux-gnueabi
|
48
|
+
cc: arm-linux-gnueabi-gcc
|
49
|
+
cxx: arm-linux-gnueabi-g++
|
50
|
+
|
51
|
+
env:
|
52
|
+
FLAGS: -g -O2 -Wall -Wextra -Werror
|
53
|
+
|
54
|
+
steps:
|
55
|
+
- name: Checkout source
|
56
|
+
uses: actions/checkout@v2
|
57
|
+
|
58
|
+
- name: Install Compilers
|
59
|
+
run: |
|
60
|
+
sudo apt-get update -y;
|
61
|
+
sudo apt-get install -y ${{matrix.cc_pkg}} ${{matrix.cxx_pkg}};
|
62
|
+
|
63
|
+
- name: Display compiler versions
|
64
|
+
run: |
|
65
|
+
${{matrix.cc}} --version;
|
66
|
+
${{matrix.cxx}} --version;
|
67
|
+
|
68
|
+
- name: Build
|
69
|
+
run: |
|
70
|
+
./configure --cc=${{matrix.cc}} --cxx=${{matrix.cxx}};
|
71
|
+
make -j$(nproc) V=1 CPPFLAGS="-Werror" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS";
|
72
|
+
|
73
|
+
- name: Build nolibc
|
74
|
+
run: |
|
75
|
+
if [[ "${{matrix.arch}}" == "x86_64" ]]; then \
|
76
|
+
make clean; \
|
77
|
+
./configure --cc=${{matrix.cc}} --cxx=${{matrix.cxx}} --nolibc; \
|
78
|
+
make -j$(nproc) V=1 CPPFLAGS="-Werror" CFLAGS="$FLAGS" CXXFLAGS="$FLAGS"; \
|
79
|
+
else \
|
80
|
+
echo "Skipping nolibc build, this arch doesn't support building liburing without libc"; \
|
81
|
+
fi;
|
82
|
+
|
83
|
+
- name: Test install command
|
84
|
+
run: |
|
85
|
+
sudo make install;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Shellcheck
|
2
|
+
|
3
|
+
on:
|
4
|
+
# Trigger the workflow on push or pull requests.
|
5
|
+
push:
|
6
|
+
pull_request:
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
test:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
|
12
|
+
steps:
|
13
|
+
- name: Checkout source
|
14
|
+
uses: actions/checkout@v2
|
15
|
+
|
16
|
+
- name: Display shellcheck version
|
17
|
+
run: shellcheck --version
|
18
|
+
|
19
|
+
- name: Shellcheck execution
|
20
|
+
run: shellcheck test/runtest*.sh
|
@@ -0,0 +1,149 @@
|
|
1
|
+
*.rej
|
2
|
+
*.orig
|
3
|
+
*~
|
4
|
+
/*.patch
|
5
|
+
|
6
|
+
*.d
|
7
|
+
*.o
|
8
|
+
*.o[ls]
|
9
|
+
|
10
|
+
/src/liburing.a
|
11
|
+
/src/liburing.so*
|
12
|
+
/src/include/liburing/compat.h
|
13
|
+
|
14
|
+
/examples/io_uring-cp
|
15
|
+
/examples/io_uring-test
|
16
|
+
/examples/link-cp
|
17
|
+
/examples/ucontext-cp
|
18
|
+
|
19
|
+
/test/232c93d07b74-test
|
20
|
+
/test/35fa71a030ca-test
|
21
|
+
/test/500f9fbadef8-test
|
22
|
+
/test/7ad0e4b2f83c-test
|
23
|
+
/test/8a9973408177-test
|
24
|
+
/test/917257daa0fe-test
|
25
|
+
/test/a0908ae19763-test
|
26
|
+
/test/a4c0b3decb33-test
|
27
|
+
/test/accept
|
28
|
+
/test/accept-link
|
29
|
+
/test/accept-reuse
|
30
|
+
/test/accept-test
|
31
|
+
/test/across-fork
|
32
|
+
/test/b19062a56726-test
|
33
|
+
/test/b5837bd5311d-test
|
34
|
+
/test/ce593a6c480a-test
|
35
|
+
/test/close-opath
|
36
|
+
/test/config.local
|
37
|
+
/test/connect
|
38
|
+
/test/cq-full
|
39
|
+
/test/cq-overflow
|
40
|
+
/test/cq-overflow-peek
|
41
|
+
/test/cq-peek-batch
|
42
|
+
/test/cq-ready
|
43
|
+
/test/cq-size
|
44
|
+
/test/d4ae271dfaae-test
|
45
|
+
/test/d77a67ed5f27-test
|
46
|
+
/test/defer
|
47
|
+
/test/double-poll-crash
|
48
|
+
/test/eeed8b54e0df-test
|
49
|
+
/test/empty-eownerdead
|
50
|
+
/test/eventfd
|
51
|
+
/test/eventfd-disable
|
52
|
+
/test/eventfd-reg
|
53
|
+
/test/eventfd-ring
|
54
|
+
/test/exit-no-cleanup
|
55
|
+
/test/fadvise
|
56
|
+
/test/fallocate
|
57
|
+
/test/fc2a85cb02ef-test
|
58
|
+
/test/file-register
|
59
|
+
/test/file-update
|
60
|
+
/test/file-verify
|
61
|
+
/test/files-exit-hang-poll
|
62
|
+
/test/files-exit-hang-timeout
|
63
|
+
/test/fixed-link
|
64
|
+
/test/fpos
|
65
|
+
/test/fsync
|
66
|
+
/test/hardlink
|
67
|
+
/test/io-cancel
|
68
|
+
/test/io_uring_enter
|
69
|
+
/test/io_uring_register
|
70
|
+
/test/io_uring_setup
|
71
|
+
/test/iopoll
|
72
|
+
/test/lfs-openat
|
73
|
+
/test/lfs-openat-write
|
74
|
+
/test/link
|
75
|
+
/test/link-timeout
|
76
|
+
/test/link_drain
|
77
|
+
/test/madvise
|
78
|
+
/test/mkdir
|
79
|
+
/test/msg-ring
|
80
|
+
/test/nop
|
81
|
+
/test/nop-all-sizes
|
82
|
+
/test/open-close
|
83
|
+
/test/openat2
|
84
|
+
/test/personality
|
85
|
+
/test/pipe-eof
|
86
|
+
/test/pipe-reuse
|
87
|
+
/test/poll
|
88
|
+
/test/poll-cancel
|
89
|
+
/test/poll-cancel-ton
|
90
|
+
/test/poll-link
|
91
|
+
/test/poll-many
|
92
|
+
/test/poll-ring
|
93
|
+
/test/poll-v-poll
|
94
|
+
/test/pollfree
|
95
|
+
/test/probe
|
96
|
+
/test/read-write
|
97
|
+
/test/register-restrictions
|
98
|
+
/test/rename
|
99
|
+
/test/ring-leak
|
100
|
+
/test/ring-leak2
|
101
|
+
/test/self
|
102
|
+
/test/send_recv
|
103
|
+
/test/send_recvmsg
|
104
|
+
/test/sendmsg_fs_cve
|
105
|
+
/test/shared-wq
|
106
|
+
/test/short-read
|
107
|
+
/test/shutdown
|
108
|
+
/test/sigfd-deadlock
|
109
|
+
/test/socket-rw
|
110
|
+
/test/socket-rw-eagain
|
111
|
+
/test/socket-rw-offset
|
112
|
+
/test/splice
|
113
|
+
/test/sq-full
|
114
|
+
/test/sq-full-cpp
|
115
|
+
/test/sq-poll-dup
|
116
|
+
/test/sq-poll-kthread
|
117
|
+
/test/sq-poll-share
|
118
|
+
/test/sqpoll-disable-exit
|
119
|
+
/test/sqpoll-exit-hang
|
120
|
+
/test/sqpoll-sleep
|
121
|
+
/test/sq-space_left
|
122
|
+
/test/statx
|
123
|
+
/test/stdout
|
124
|
+
/test/submit-reuse
|
125
|
+
/test/symlink
|
126
|
+
/test/teardowns
|
127
|
+
/test/thread-exit
|
128
|
+
/test/timeout
|
129
|
+
/test/timeout-new
|
130
|
+
/test/timeout-overflow
|
131
|
+
/test/unlink
|
132
|
+
/test/wakeup-hang
|
133
|
+
/test/multicqes_drain
|
134
|
+
/test/poll-mshot-update
|
135
|
+
/test/rsrc_tags
|
136
|
+
/test/rw_merge_test
|
137
|
+
/test/sqpoll-cancel-hang
|
138
|
+
/test/testfile
|
139
|
+
/test/submit-link-fail
|
140
|
+
/test/exec-target
|
141
|
+
/test/skip-cqe
|
142
|
+
/test/*.dmesg
|
143
|
+
/test/output/
|
144
|
+
|
145
|
+
config-host.h
|
146
|
+
config-host.mak
|
147
|
+
config.log
|
148
|
+
|
149
|
+
liburing.pc
|