Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target s390x --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/fedora-rawhide-s390x-1672275982.085434/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '2c19d35544544ba784e467805bcb71ce', '-D', '/var/lib/mock/fedora-rawhide-s390x-1672275982.085434/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target s390x --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1663891200 Wrote: /builddir/build/SRPMS/rubygem-nio4r-2.5.8-1.fc38.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target s390x --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/fedora-rawhide-s390x-1672275982.085434/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '978acae79e02489c9a55895dbc8b20a2', '-D', '/var/lib/mock/fedora-rawhide-s390x-1672275982.085434/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.b7hmx8cg:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target s390x --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1663891200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Au1g6k + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf nio4r-2.5.8 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/nio4r-2.5.8.gem Unpacked gem: '/builddir/build/BUILD/nio4r-2.5.8' + STATUS=0 + '[' 0 -ne 0 ']' + cd nio4r-2.5.8 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.gbEhpg + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd nio4r-2.5.8 + gem build ../nio4r-2.5.8.gemspec WARNING: open-ended dependency on bundler (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' WARNING: open-ended dependency on rake (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: nio4r Version: 2.5.8 File: nio4r-2.5.8.gem + mkdir -p ./usr/share/gems + CONFIGURE_ARGS='--with-cflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection'\'' --with-cxxflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection'\'' --with-ldflags='\''-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'\'' ' + gem install -V --local --build-root . --force --document=ri,rdoc nio4r-2.5.8.gem WARNING: You build with buildroot. Build root: /builddir/build/BUILD/nio4r-2.5.8 Bin dir: /builddir/build/BUILD/nio4r-2.5.8/usr/bin Gem home: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems Plugins dir: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/plugins /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.github/workflows/workflow.yml /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.gitignore /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.rspec /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.rubocop.yml /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/CHANGES.md /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/Gemfile /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/README.md /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/Rakefile /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/examples/echo_server.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/Changes /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/LICENSE /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/README /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev.h /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_epoll.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_iouring.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_kqueue.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_linuxaio.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_poll.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_port.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_select.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_vars.h /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_win32.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_wrap.h /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/.clang-format /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/bytebuffer.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/extconf.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/libev.h /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/monitor.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/nio4r.h /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/nio4r_ext.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/ByteBuffer.java /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Monitor.java /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Nio4r.java /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Selector.java /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/selector.c /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/bytebuffer.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/monitor.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/selector.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/version.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/logo.png /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/nio4r.gemspec /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/extension.rake /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/rspec.rake /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/rubocop.rake /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/acceptables_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/bytebuffer_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/monitor_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/pipe_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/ssl_socket_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/tcp_socket_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selector_spec.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/spec_helper.rb /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/support/selectable_examples.rb Building native extensions. This could take a while... current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r ["/usr/bin/ruby", "-I", "/usr/share/rubygems", "extconf.rb"] checking for unistd.h... yes checking for linux/aio_abi.h... yes checking for linux/io_uring.h... yes checking for sys/select.h... yes checking for port_event_t in poll.h... no checking for sys/epoll.h... yes checking for sys/event.h... no checking for port_event_t in port.h... no checking for sys/resource.h... yes creating Makefile current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-qkq76v", "sitelibdir=./.gem.20221229-36-qkq76v", "clean"] rm -f rm -fr nio4r_ext.so false *.o *.bak mkmf.log .*.time current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-qkq76v", "sitelibdir=./.gem.20221229-36-qkq76v"] gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o bytebuffer.o -c bytebuffer.c gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o monitor.o -c monitor.c In file included from libev.h:7, from nio4r.h:9, from monitor.c:6: monitor.c: In function 'NIO_Monitor_initialize': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ monitor.c:101:5: note: in expansion of macro 'ev_io_init' 101 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ monitor.c:101:5: note: in expansion of macro 'ev_io_init' 101 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ monitor.c:101:5: note: in expansion of macro 'ev_io_init' 101 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ monitor.c:101:5: note: in expansion of macro 'ev_io_init' 101 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests); | ^~~~~~~~~~ gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o nio4r_ext.o -c nio4r_ext.c In file included from nio4r_ext.c:6: ../libev/ev.c:573:48: warning: "/*" within comment [-Wcomment] 573 | /*#define MIN_INTERVAL 0.00000095367431640625 /* 1/2**20, good till 2200 */ | ../libev/ev.c:2136:31: warning: 'ev_default_loop_ptr' initialized and declared 'extern' 2136 | EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ | ^~~~~~~~~~~~~~~~~~~ In file included from ../libev/ev.c:231: ../libev/ev.c: In function 'evpipe_init': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:2728:8: note: in expansion of macro 'ev_is_active' 2728 | if (!ev_is_active (&pipe_w)) | ^~~~~~~~~~~~ ../libev/ev.c: In function 'evtimerfd_init': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3050:8: note: in expansion of macro 'ev_is_active' 3050 | if (!ev_is_active (&timerfd_w)) | ^~~~~~~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init' 3058 | ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init' 3058 | ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init' 3058 | ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init' 3058 | ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3059:11: note: in expansion of macro 'ev_set_priority' 3059 | ev_set_priority (&timerfd_w, EV_MINPRI); | ^~~~~~~~~~~~~~~ In file included from ../libev/ev.c:3086: ../libev/ev_linuxaio.c: In function 'linuxaio_poll': ../libev/ev_linuxaio.c:467:10: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else] 467 | if (ecb_expect_false (res < 0)) | ^ ../libev/ev_linuxaio.c: In function 'linuxaio_init': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init' 571 | ev_io_init (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init' 571 | ev_io_init (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init' 571 | ev_io_init (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init' 571 | ev_io_init (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev_linuxaio.c:572:3: note: in expansion of macro 'ev_set_priority' 572 | ev_set_priority (&linuxaio_epoll_w, EV_MAXPRI); | ^~~~~~~~~~~~~~~ ../libev/ev_linuxaio.c: In function 'linuxaio_fork': ../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value] 180 | # define EV_A_ EV_A, /* a loop as first of multiple arguments */ | ^ ../libev/ev.h:698:52: note: in definition of macro 'ev_io_set' 698 | #define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0) | ^~ ../libev/ev_linuxaio.c:617:16: note: in expansion of macro 'EV_A_' 617 | ev_io_set (EV_A_ &linuxaio_epoll_w, backend_fd, EV_READ); | ^~~~~ ../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value] 180 | # define EV_A_ EV_A, /* a loop as first of multiple arguments */ | ^ ../libev/ev.h:698:70: note: in definition of macro 'ev_io_set' 698 | #define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0) | ^~ ../libev/ev_linuxaio.c:617:16: note: in expansion of macro 'EV_A_' 617 | ev_io_set (EV_A_ &linuxaio_epoll_w, backend_fd, EV_READ); | ^~~~~ In file included from ../libev/ev.c:3089: ../libev/ev_iouring.c: In function 'iouring_sqe_submit': ../libev/ev_iouring.c:298:31: warning: "/*" within comment [-Wcomment] 298 | /*ECB_MEMORY_FENCE_RELEASE; /* for the time being we assume this is not needed */ | ../libev/ev_iouring.c: In function 'iouring_internal_destroy': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev_iouring.c:326:7: note: in expansion of macro 'ev_is_active' 326 | if (ev_is_active (&iouring_tfd_w)) | ^~~~~~~~~~~~ ../libev/ev_iouring.c: In function 'iouring_fork': ../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value] 180 | # define EV_A_ EV_A, /* a loop as first of multiple arguments */ | ^ ../libev/ev.h:698:52: note: in definition of macro 'ev_io_set' 698 | #define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0) | ^~ ../libev/ev_iouring.c:428:16: note: in expansion of macro 'EV_A_' 428 | ev_io_set (EV_A_ &iouring_tfd_w, iouring_tfd, EV_READ); | ^~~~~ ../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value] 180 | # define EV_A_ EV_A, /* a loop as first of multiple arguments */ | ^ ../libev/ev.h:698:70: note: in definition of macro 'ev_io_set' 698 | #define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0) | ^~ ../libev/ev_iouring.c:428:16: note: in expansion of macro 'EV_A_' 428 | ev_io_set (EV_A_ &iouring_tfd_w, iouring_tfd, EV_READ); | ^~~~~ ../libev/ev_iouring.c: In function 'iouring_init': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init' 677 | ev_io_init (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init' 677 | ev_io_init (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init' 677 | ev_io_init (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init' 677 | ev_io_init (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev_iouring.c:678:3: note: in expansion of macro 'ev_set_priority' 678 | ev_set_priority (&iouring_tfd_w, EV_MINPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'loop_init': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init' 3343 | ev_prepare_init (&pending_w, pendingcb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init' 3343 | ev_prepare_init (&pending_w, pendingcb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init' 3343 | ev_prepare_init (&pending_w, pendingcb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init' 3343 | ev_prepare_init (&pending_w, pendingcb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3346:7: note: in expansion of macro 'ev_init' 3346 | ev_init (&pipe_w, pipecb); | ^~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3346:7: note: in expansion of macro 'ev_init' 3346 | ev_init (&pipe_w, pipecb); | ^~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.c:3346:7: note: in expansion of macro 'ev_init' 3346 | ev_init (&pipe_w, pipecb); | ^~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.c:3346:7: note: in expansion of macro 'ev_init' 3346 | ev_init (&pipe_w, pipecb); | ^~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3347:7: note: in expansion of macro 'ev_set_priority' 3347 | ev_set_priority (&pipe_w, EV_MAXPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'ev_loop_destroy': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3375:36: note: in expansion of macro 'ev_is_active' 3375 | if (ev_is_default_loop (EV_A) && ev_is_active (&childev)) | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3382:7: note: in expansion of macro 'ev_is_active' 3382 | if (ev_is_active (&pipe_w)) | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3392:7: note: in expansion of macro 'ev_is_active' 3392 | if (ev_is_active (&sigfd_w)) | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3397:7: note: in expansion of macro 'ev_is_active' 3397 | if (ev_is_active (&timerfd_w)) | ^~~~~~~~~~~~ ../libev/ev.c: In function 'loop_fork': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3508:13: note: in expansion of macro 'ev_is_active' 3508 | if (ev_is_active (&timerfd_w)) | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3523:13: note: in expansion of macro 'ev_is_active' 3523 | if (ev_is_active (&pipe_w)) | ^~~~~~~~~~~~ ../libev/ev.c: In function 'ev_default_loop': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:715:51: note: in expansion of macro 'ev_init' 715 | #define ev_signal_init(ev,cb,signum) do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0) | ^~~~~~~ ../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init' 3710 | ev_signal_init (&childev, childcb, SIGCHLD); | ^~~~~~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:715:51: note: in expansion of macro 'ev_init' 715 | #define ev_signal_init(ev,cb,signum) do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0) | ^~~~~~~ ../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init' 3710 | ev_signal_init (&childev, childcb, SIGCHLD); | ^~~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:715:51: note: in expansion of macro 'ev_init' 715 | #define ev_signal_init(ev,cb,signum) do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0) | ^~~~~~~ ../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init' 3710 | ev_signal_init (&childev, childcb, SIGCHLD); | ^~~~~~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:715:51: note: in expansion of macro 'ev_init' 715 | #define ev_signal_init(ev,cb,signum) do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0) | ^~~~~~~ ../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init' 3710 | ev_signal_init (&childev, childcb, SIGCHLD); | ^~~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:3711:11: note: in expansion of macro 'ev_set_priority' 3711 | ev_set_priority (&childev, EV_MAXPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'ev_io_start': ../libev/ev.c:4417:34: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses] 4417 | fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY); | ~~~~~~~~~~^~~~~~~~~~~~~ ../libev/ev.c: In function 'ev_signal_start': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init' 4650 | ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init' 4650 | ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init' 4650 | ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init' 4650 | ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:4651:11: note: in expansion of macro 'ev_set_priority' 4651 | ev_set_priority (&sigfd_w, EV_MAXPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'infy_add': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:4865:7: note: in expansion of macro 'ev_is_active' 4865 | if (ev_is_active (&w->timer)) ev_ref (EV_A); | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:4867:7: note: in expansion of macro 'ev_is_active' 4867 | if (ev_is_active (&w->timer)) ev_unref (EV_A); | ^~~~~~~~~~~~ ../libev/ev.c: In function 'infy_init': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init' 4974 | ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init' 4974 | ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init' 4974 | ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init' 4974 | ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:4975:7: note: in expansion of macro 'ev_set_priority' 4975 | ev_set_priority (&fs_w, EV_MAXPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'infy_fork': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5019:19: note: in expansion of macro 'ev_is_active' 5019 | if (ev_is_active (&w->timer)) ev_ref (EV_A); | ^~~~~~~~~~~~ ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5021:19: note: in expansion of macro 'ev_is_active' 5021 | if (ev_is_active (&w->timer)) ev_unref (EV_A); | ^~~~~~~~~~~~ ../libev/ev.c: In function 'ev_stat_start': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:713:51: note: in expansion of macro 'ev_init' 713 | #define ev_timer_init(ev,cb,after,repeat) do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0) | ^~~~~~~ ../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init' 5096 | ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); | ^~~~~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:713:51: note: in expansion of macro 'ev_init' 713 | #define ev_timer_init(ev,cb,after,repeat) do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0) | ^~~~~~~ ../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init' 5096 | ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); | ^~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:713:51: note: in expansion of macro 'ev_init' 713 | #define ev_timer_init(ev,cb,after,repeat) do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0) | ^~~~~~~ ../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init' 5096 | ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); | ^~~~~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:713:51: note: in expansion of macro 'ev_init' 713 | #define ev_timer_init(ev,cb,after,repeat) do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0) | ^~~~~~~ ../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init' 5096 | ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); | ^~~~~~~~~~~~~ ../libev/ev.h:699:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 699 | #define ev_timer_set(ev,after_,repeat_) do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0) | ~^~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:713:73: note: in expansion of macro 'ev_timer_set' 713 | #define ev_timer_init(ev,cb,after,repeat) do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0) | ^~~~~~~~~~~~ ../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init' 5096 | ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); | ^~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5097:3: note: in expansion of macro 'ev_set_priority' 5097 | ev_set_priority (&w->timer, ev_priority (w)); | ^~~~~~~~~~~~~~~ ../libev/ev.c: In function 'ev_stat_stop': ../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 727 | #define ev_is_active(ev) (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5129:7: note: in expansion of macro 'ev_is_active' 5129 | if (ev_is_active (&w->timer)) | ^~~~~~~~~~~~ ../libev/ev.c: In function 'ev_embed_start': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init' 5335 | ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init' 5335 | ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init' 5335 | ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ ../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init' 5335 | ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5340:3: note: in expansion of macro 'ev_set_priority' 5340 | ev_set_priority (&w->io, ev_priority (w)); | ^~~~~~~~~~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init' 5343 | ev_prepare_init (&w->prepare, embed_prepare_cb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init' 5343 | ev_prepare_init (&w->prepare, embed_prepare_cb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init' 5343 | ev_prepare_init (&w->prepare, embed_prepare_cb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:719:51: note: in expansion of macro 'ev_init' 719 | #define ev_prepare_init(ev,cb) do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init' 5343 | ev_prepare_init (&w->prepare, embed_prepare_cb); | ^~~~~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5344:3: note: in expansion of macro 'ev_set_priority' 5344 | ev_set_priority (&w->prepare, EV_MINPRI); | ^~~~~~~~~~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:722:51: note: in expansion of macro 'ev_init' 722 | #define ev_fork_init(ev,cb) do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init' 5348 | ev_fork_init (&w->fork, embed_fork_cb); | ^~~~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:722:51: note: in expansion of macro 'ev_init' 722 | #define ev_fork_init(ev,cb) do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init' 5348 | ev_fork_init (&w->fork, embed_fork_cb); | ^~~~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:722:51: note: in expansion of macro 'ev_init' 722 | #define ev_fork_init(ev,cb) do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init' 5348 | ev_fork_init (&w->fork, embed_fork_cb); | ^~~~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:722:51: note: in expansion of macro 'ev_init' 722 | #define ev_fork_init(ev,cb) do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0) | ^~~~~~~ ../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init' 5348 | ev_fork_init (&w->fork, embed_fork_cb); | ^~~~~~~~~~~~ ../libev/ev.c: In function 'ev_once': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5555:3: note: in expansion of macro 'ev_init' 5555 | ev_init (&once->io, once_cb_io); | ^~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5555:3: note: in expansion of macro 'ev_init' 5555 | ev_init (&once->io, once_cb_io); | ^~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.c:5555:3: note: in expansion of macro 'ev_init' 5555 | ev_init (&once->io, once_cb_io); | ^~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.c:5555:3: note: in expansion of macro 'ev_init' 5555 | ev_init (&once->io, once_cb_io); | ^~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5562:3: note: in expansion of macro 'ev_init' 5562 | ev_init (&once->to, once_cb_to); | ^~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5562:3: note: in expansion of macro 'ev_init' 5562 | ev_init (&once->to, once_cb_to); | ^~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.c:5562:3: note: in expansion of macro 'ev_init' 5562 | ev_init (&once->to, once_cb_to); | ^~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.c:5562:3: note: in expansion of macro 'ev_init' 5562 | ev_init (&once->to, once_cb_to); | ^~~~~~~ ../libev/ev.h:699:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 699 | #define ev_timer_set(ev,after_,repeat_) do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0) | ~^~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:5565:7: note: in expansion of macro 'ev_timer_set' 5565 | ev_timer_set (&once->to, timeout, 0.); | ^~~~~~~~~~~~ ../libev/ev.c: At top level: ../libev/ev.c:5682:27: warning: "/*" within comment [-Wcomment] 5682 | /* EV_STAT 0x00001000 /* stat data changed */ | ../libev/ev.c:5683:27: warning: "/*" within comment [-Wcomment] 5683 | /* EV_EMBED 0x00010000 /* embedded event loop needs sweep */ | ../libev/ev.c: In function 'evpipe_write': ../libev/ev.c:2798:11: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 2798 | write (evpipe [1], &counter, sizeof (uint64_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:2810:11: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 2810 | write (evpipe [1], &(evpipe [1]), 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c: In function 'pipecb': ../libev/ev.c:2831:11: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result] 2831 | read (evpipe [1], &counter, sizeof (uint64_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:2845:11: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result] 2845 | read (evpipe [0], &dummy, sizeof (dummy)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o selector.o -c selector.c In file included from libev.h:7, from nio4r.h:9, from selector.c:6: selector.c: In function 'NIO_Selector_allocate': ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c:112:5: note: in expansion of macro 'ev_init' 112 | ev_init(&selector->timer, NIO_Selector_timeout_callback); | ^~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c:112:5: note: in expansion of macro 'ev_init' 112 | ev_init(&selector->timer, NIO_Selector_timeout_callback); | ^~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ selector.c:112:5: note: in expansion of macro 'ev_init' 112 | ev_init(&selector->timer, NIO_Selector_timeout_callback); | ^~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ selector.c:112:5: note: in expansion of macro 'ev_init' 112 | ev_init(&selector->timer, NIO_Selector_timeout_callback); | ^~~~~~~ ../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 691 | ((ev_watcher *)(void *)(ev))->active = \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ selector.c:117:5: note: in expansion of macro 'ev_io_init' 117 | ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 692 | ((ev_watcher *)(void *)(ev))->pending = 0; \ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ selector.c:117:5: note: in expansion of macro 'ev_io_init' 117 | ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 737 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority' 693 | ev_set_priority ((ev), 0); \ | ^~~~~~~~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ selector.c:117:5: note: in expansion of macro 'ev_io_init' 117 | ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ); | ^~~~~~~~~~ ../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 744 | # define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) | ~^~~~~~~~~~~~~~~~~~~ ../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb' 694 | ev_set_cb ((ev), cb_); \ | ^~~~~~~~~ ../libev/ev.h:712:51: note: in expansion of macro 'ev_init' 712 | #define ev_io_init(ev,cb,fd,events) do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0) | ^~~~~~~ selector.c:117:5: note: in expansion of macro 'ev_io_init' 117 | ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ); | ^~~~~~~~~~ selector.c: In function 'NIO_Selector_synchronize': selector.c:301:26: warning: passing argument 1 of 'rb_ensure' from incompatible pointer type [-Wincompatible-pointer-types] 301 | return rb_ensure(func, (VALUE)args, NIO_Selector_unlock, self); | ^~~~ | | | VALUE (*)(VALUE *) {aka long unsigned int (*)(long unsigned int *)} In file included from /usr/include/ruby/ruby.h:40, from /usr/include/ruby.h:38, from nio4r.h:10: /usr/include/ruby/internal/iterator.h:425:25: note: expected 'VALUE (*)(VALUE)' {aka 'long unsigned int (*)(long unsigned int)'} but argument is of type 'VALUE (*)(VALUE *)' {aka 'long unsigned int (*)(long unsigned int *)'} 425 | VALUE rb_ensure(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*e_proc)(VALUE), VALUE data2); | ~~~~~~~~^~~~~~~~~~~~~~ selector.c: In function 'NIO_Selector_wakeup': selector.c:499:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 499 | write(selector->wakeup_writer, "\0", 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rm -f nio4r_ext.so gcc -shared -o nio4r_ext.so bytebuffer.o monitor.o nio4r_ext.o selector.o -L. -L/usr/lib64 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -m64 -lruby -lm -lc current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-qkq76v", "sitelibdir=./.gem.20221229-36-qkq76v", "install"] /usr/bin/mkdir -p . ./.gem.20221229-36-qkq76v exit > .sitearchdir.time /usr/bin/install -c -m 0755 nio4r_ext.so ./.gem.20221229-36-qkq76v current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r /usr/bin/ruby -I /usr/share/rubygems extconf.rb current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20221229-36-qkq76v sitelibdir\=./.gem.20221229-36-qkq76v clean current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20221229-36-qkq76v sitelibdir\=./.gem.20221229-36-qkq76v current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20221229-36-qkq76v sitelibdir\=./.gem.20221229-36-qkq76v install Successfully installed nio4r-2.5.8 Parsing documentation for nio4r-2.5.8 Parsing sources... 2% [ 1/37] ext/libev/Changes 5% [ 2/37] ext/libev/LICENSE 8% [ 3/37] ext/libev/README 10% [ 4/37] ext/libev/ev.c 13% [ 5/37] ext/libev/ev.h 16% [ 6/37] ext/libev/ev_epoll.c 18% [ 7/37] ext/libev/ev_iouring.c 21% [ 8/37] ext/libev/ev_kqueue.c 24% [ 9/37] ext/libev/ev_linuxaio.c 27% [10/37] ext/libev/ev_poll.c 29% [11/37] ext/libev/ev_port.c 32% [12/37] ext/libev/ev_select.c 35% [13/37] ext/libev/ev_vars.h 37% [14/37] ext/libev/ev_win32.c 40% [15/37] ext/libev/ev_wrap.h 43% [16/37] ext/nio4r/Makefile 45% [17/37] ext/nio4r/bytebuffer.c 48% [18/37] ext/nio4r/bytebuffer.o 51% [19/37] ext/nio4r/extconf.rb 54% [20/37] ext/nio4r/libev.h 56% [21/37] ext/nio4r/monitor.c 59% [22/37] ext/nio4r/monitor.o 62% [23/37] ext/nio4r/nio4r.h 64% [24/37] ext/nio4r/nio4r_ext.c 67% [25/37] ext/nio4r/nio4r_ext.o 70% [26/37] ext/nio4r/nio4r_ext.so 72% [27/37] ext/nio4r/org/nio4r/ByteBuffer.java 75% [28/37] ext/nio4r/org/nio4r/Monitor.java 78% [29/37] ext/nio4r/org/nio4r/Nio4r.java 81% [30/37] ext/nio4r/org/nio4r/Selector.java 83% [31/37] ext/nio4r/selector.c 86% [32/37] ext/nio4r/selector.o 89% [33/37] lib/nio.rb 91% [34/37] lib/nio/bytebuffer.rb 94% [35/37] lib/nio/monitor.rb 97% [36/37] lib/nio/selector.rb 100% [37/37] lib/nio/version.rb Installing ri documentation for nio4r-2.5.8 Installing darkfish documentation for nio4r-2.5.8 Done installing documentation for nio4r after 0 seconds 1 gem installed + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.0SZM13 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x '!=' / ']' + rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x ++ dirname /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd nio4r-2.5.8 + mkdir -p /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/share/gems + cp -a ./usr/share/gems/build_info ./usr/share/gems/cache ./usr/share/gems/doc ./usr/share/gems/extensions ./usr/share/gems/gems ./usr/share/gems/plugins ./usr/share/gems/specifications /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/share/gems/ + mkdir -p /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/lib64/gems/ruby/nio4r-2.5.8 + cp -a ./usr/lib64/gems/ruby/nio4r-2.5.8/gem.build_complete ./usr/lib64/gems/ruby/nio4r-2.5.8/nio4r_ext.so /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/lib64/gems/ruby/nio4r-2.5.8/ + rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/share/gems/gems/nio4r-2.5.8/ext/ + /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed 2.5.8-1.fc38 --unique-debug-suffix -2.5.8-1.fc38.s390x --unique-debug-src-base rubygem-nio4r-2.5.8-1.fc38.s390x --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/nio4r-2.5.8 extracting debug info from /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x/usr/lib64/gems/ruby/nio4r-2.5.8/nio4r_ext.so original debug info size: 356kB, size after compression: 336kB /usr/bin/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. 588 blocks + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs mangling shebang in /usr/share/gems/gems/nio4r-2.5.8/examples/echo_server.rb from /usr/bin/env ruby to #!/usr/bin/ruby + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.yJ2IeP + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd nio4r-2.5.8 + pushd ./usr/share/gems/gems/nio4r-2.5.8 ~/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8 ~/build/BUILD/nio4r-2.5.8 ++ grep EV_VERSION_MAJOR ext/libev/ev.h ++ cut -d ' ' -f3 + EV_VERSION_MAJOR=4 ++ grep EV_VERSION_MINOR ext/libev/ev.h ++ cut -d ' ' -f3 + EV_VERSION_MINOR=33 + '[' 4.33 = 4.33 ']' + sed -i '/require "coveralls"/ s/^/#/' spec/spec_helper.rb + sed -i '/Coveralls.wear!/ s/^/#/' spec/spec_helper.rb ++ dirs +1 + rspec -I~/build/BUILD/nio4r-2.5.8/usr/lib64/gems/ruby/nio4r-2.5.8 -ropenssl spec Randomized with seed 58160 NIO::Selector closes allows deregistering closed IO objects deregisters IO objects knows which IO objects are registered reports if it is empty allows reregistration of the same IO object across select calls timeouts waits for timeout when selecting from empty selector raises ArgumentError if given a negative timeout waits for a timeout when selecting with reader register registers IO objects raises TypeError if asked to register non-IO objects raises when asked to register after closing select selects IO objects selects closed IO objects iterates across selected objects with a block raises IOError if asked to select on a closed selector does not block on super small precision intervals wakeup raises IOError if asked to wake up a closed selector wakes up if signaled to from another thread backend knows its backend Current backend: epoll .backends knows all supported backends #initialize raises TypeError if given a non-Symbol parameter allows explicitly specifying a backend Supported backends: [:epoll, :poll, :select, :linuxaio, :io_uring] automatically selects a backend if none or nil is specified raises ArgumentError if given an invalid backend OpenSSL::SSL::SSLSocket using TLS 1.2 behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable does not select unwritable objects selects readable objects does not select unreadable objects selects writable objects using TLS 1.3 behaves like an NIO selectable selects writable objects does not select unreadable objects does not select unwritable objects selects readable objects behaves like an NIO selectable stream selects readable when the other end closes IO.pipe behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable does not select unwritable objects selects readable objects does not select unreadable objects selects writable objects NIO::Monitor #interests knows its interests #close closes even if the selector has been shutdown closes #io knows its IO object #remove_interest can clear the last interest raises ArgumentError if given a bogus option acts idempotently removes an interest from the set #interests= can set interests to nil changes the interest set raises EOFError if interests are changed after the monitor is closed #readiness knows what operations IO objects are ready for #value= stores arbitrary values #selector knows its selector #add_interest raises ArgumentError if given a bogus option acts idempotently sets a new interest if it isn't currently registered TCPSocket connect selects writable when connected behaves like an NIO selectable selects writable objects does not select unreadable objects does not select unwritable objects (PENDING: Failed to produce an unwritable socket) selects readable objects behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO bidirectional stream selects readable and writable keeps readiness after the selectable has been closed UDPSocket behaves like an NIO selectable does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) selects writable objects does not select unreadable objects selects readable objects NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness NIO::ByteBuffer #flip sets remaining to the previous position sets limit to the previous position flips the bytebuffer #clear clears the buffer #limit= clears the mark if the new limit is before the current mark raises ArgumentError if specified limit is less than zero preserves position and mark if they're less than the new limit raises ArgumentError if specified limit exceeds capacity sets position to the new limit if the previous position is beyond the limit sets the buffer's limit to a valid value #full? returns false when there is space remaining in the buffer returns true when the buffer is full #rewind rewinds the buffer leaving the limit intact #reset raises NIO::ByteBuffer::MarkUnsetError unless mark has been set returns to a previously marked position #inspect inspects the buffer offsets #limit defaults to the buffer's capacity #position= raises ArgumentError if the specified position exceeds the limit sets the buffer's position to a valid value raises ArgumentError if the specified position is less than zero I/O #read_from raises NIO::ByteBuffer::OverflowError if the buffer is already full reads data into the buffer returns 0 if no data is available #write_to raises NIO::ByteBuffer::UnderflowError if the buffer is out of data writes data from the buffer #compact copies data from the current position to the beginning of the buffer #each iterates over data in the buffer #remaining calculates the number of bytes remaining #mark returns self #initialize raises TypeError if given a bogus argument #get advances position as data is read reads zeroes from a newly initialized buffer reads all remaining data if no length is given raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer #[] raises ArgumentError if the index is less than zero obtains bytes at a given index without altering position raises ArgumentError if the index exceeds the limit #position defaults to zero #capacity has the requested capacity #<< adds strings to the buffer raises TypeError if given a non-String type raises NIO::ByteBuffer::OverflowError if the buffer is full Pending: (Failures listed here are expected and do not affect your suite's status) 1) TCPSocket behaves like an NIO selectable does not select unwritable objects # Failed to produce an unwritable socket Failure/Error: expect(ready).to be_nil expected: nil got: [#] Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/tcp_socket_spec.rb:72 # ./spec/support/selectable_examples.rb:38:in `block (2 levels) in ' 2) UDPSocket behaves like an NIO selectable does not select unwritable objects # come up with a UDPSocket that's blocked on writing Failure/Error: selector.register(unwritable_subject, :w) TypeError: no implicit conversion of false into IO Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47 # ./spec/support/selectable_examples.rb:36:in `initialize' # ./spec/support/selectable_examples.rb:36:in `register' # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in ' Finished in 11.8 seconds (files took 0.14359 seconds to load) 112 examples, 0 failures, 2 pending Randomized with seed 58160 ++ dirs +1 + NIO4R_PURE=true + rspec -I~/build/BUILD/nio4r-2.5.8/usr/lib64/gems/ruby/nio4r-2.5.8 -ropenssl spec Randomized with seed 5525 NIO::ByteBuffer #position= raises ArgumentError if the specified position is less than zero sets the buffer's position to a valid value raises ArgumentError if the specified position exceeds the limit #[] obtains bytes at a given index without altering position raises ArgumentError if the index is less than zero raises ArgumentError if the index exceeds the limit #reset returns to a previously marked position raises NIO::ByteBuffer::MarkUnsetError unless mark has been set #full? returns true when the buffer is full returns false when there is space remaining in the buffer #mark returns self #each iterates over data in the buffer #remaining calculates the number of bytes remaining #get reads all remaining data if no length is given raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer advances position as data is read reads zeroes from a newly initialized buffer #position defaults to zero #initialize raises TypeError if given a bogus argument I/O #write_to raises NIO::ByteBuffer::UnderflowError if the buffer is out of data writes data from the buffer #read_from returns 0 if no data is available raises NIO::ByteBuffer::OverflowError if the buffer is already full reads data into the buffer #compact copies data from the current position to the beginning of the buffer #rewind rewinds the buffer leaving the limit intact #inspect inspects the buffer offsets #<< raises TypeError if given a non-String type adds strings to the buffer raises NIO::ByteBuffer::OverflowError if the buffer is full #clear clears the buffer #capacity has the requested capacity #limit defaults to the buffer's capacity #limit= raises ArgumentError if specified limit is less than zero clears the mark if the new limit is before the current mark sets the buffer's limit to a valid value sets position to the new limit if the previous position is beyond the limit raises ArgumentError if specified limit exceeds capacity preserves position and mark if they're less than the new limit #flip flips the bytebuffer sets remaining to the previous position sets limit to the previous position UDPSocket behaves like an NIO selectable does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) does not select unreadable objects selects readable objects selects writable objects NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness OpenSSL::SSL::SSLSocket using TLS 1.2 behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable does not select unwritable objects selects readable objects selects writable objects does not select unreadable objects using TLS 1.3 behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable does not select unreadable objects selects readable objects does not select unwritable objects selects writable objects NIO::Selector allows reregistration of the same IO object across select calls reports if it is empty allows deregistering closed IO objects closes knows which IO objects are registered deregisters IO objects register raises TypeError if asked to register non-IO objects raises when asked to register after closing registers IO objects select selects closed IO objects does not block on super small precision intervals iterates across selected objects with a block raises IOError if asked to select on a closed selector selects IO objects wakeup raises IOError if asked to wake up a closed selector wakes up if signaled to from another thread .backends knows all supported backends #initialize raises TypeError if given a non-Symbol parameter raises ArgumentError if given an invalid backend allows explicitly specifying a backend Supported backends: [:ruby] automatically selects a backend if none or nil is specified backend knows its backend Current backend: ruby timeouts waits for timeout when selecting from empty selector waits for a timeout when selecting with reader raises ArgumentError if given a negative timeout IO.pipe behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable selects readable objects selects writable objects does not select unreadable objects does not select unwritable objects NIO::Monitor #io knows its IO object #selector knows its selector #close closes even if the selector has been shutdown closes #readiness knows what operations IO objects are ready for #interests knows its interests #value= stores arbitrary values #interests= changes the interest set raises EOFError if interests are changed after the monitor is closed can set interests to nil #remove_interest removes an interest from the set can clear the last interest acts idempotently raises ArgumentError if given a bogus option #add_interest acts idempotently sets a new interest if it isn't currently registered raises ArgumentError if given a bogus option TCPSocket behaves like an NIO bidirectional stream selects readable and writable keeps readiness after the selectable has been closed connect selects writable when connected behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO selectable selects writable objects selects readable objects does not select unwritable objects (PENDING: Failed to produce an unwritable socket) does not select unreadable objects Pending: (Failures listed here are expected and do not affect your suite's status) 1) UDPSocket behaves like an NIO selectable does not select unwritable objects # come up with a UDPSocket that's blocked on writing Failure/Error: raise TypeError, "can't convert #{io.class} into IO" unless io.is_a? IO TypeError: can't convert NilClass into IO Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47 # ./lib/nio/monitor.rb:19:in `initialize' # ./lib/nio/selector.rb:59:in `new' # ./lib/nio/selector.rb:59:in `block in register' # ./lib/nio/selector.rb:53:in `synchronize' # ./lib/nio/selector.rb:53:in `register' # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in ' 2) TCPSocket behaves like an NIO selectable does not select unwritable objects # Failed to produce an unwritable socket Failure/Error: expect(ready).to be_nil expected: nil got: [#, @interests=:w,...f8723ca78>, @wakeup=#, @waker=#, @closed=false>, @closed=false, @readiness=:w>] Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/tcp_socket_spec.rb:72 # ./spec/support/selectable_examples.rb:38:in `block (2 levels) in ' Finished in 12.49 seconds (files took 0.14575 seconds to load) 112 examples, 0 failures, 2 pending Randomized with seed 5525 ~/build/BUILD/nio4r-2.5.8 + popd + RPM_EC=0 ++ jobs -p + exit 0 Processing files: rubygem-nio4r-2.5.8-1.fc38.s390x Provides: bundled(libev) = 4.33 rubygem(nio4r) = 2.5.8 rubygem-nio4r = 2.5.8-1.fc38 rubygem-nio4r(s390-64) = 2.5.8-1.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libc.so.6(GLIBC_2.8)(64bit) libc.so.6(GLIBC_2.9)(64bit) libruby.so.3.1()(64bit) rtld(GNU_HASH) ruby(rubygems) Processing files: rubygem-nio4r-doc-2.5.8-1.fc38.noarch Provides: rubygem-nio4r-doc = 2.5.8-1.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: /usr/bin/ruby Processing files: rubygem-nio4r-debugsource-2.5.8-1.fc38.s390x Provides: rubygem-nio4r-debugsource = 2.5.8-1.fc38 rubygem-nio4r-debugsource(s390-64) = 2.5.8-1.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: rubygem-nio4r-debuginfo-2.5.8-1.fc38.s390x Provides: debuginfo(build-id) = 520ab76e4bf5444fbce8638ce70dda5052289ae4 rubygem-nio4r-debuginfo = 2.5.8-1.fc38 rubygem-nio4r-debuginfo(s390-64) = 2.5.8-1.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: rubygem-nio4r-debugsource(s390-64) = 2.5.8-1.fc38 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x Wrote: /builddir/build/RPMS/rubygem-nio4r-debuginfo-2.5.8-1.fc38.s390x.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-debugsource-2.5.8-1.fc38.s390x.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-doc-2.5.8-1.fc38.noarch.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-2.5.8-1.fc38.s390x.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.LMRhgG + umask 022 + cd /builddir/build/BUILD + cd nio4r-2.5.8 + /usr/bin/rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.s390x + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.ElvCKh + umask 022 + cd /builddir/build/BUILD + rm -rf nio4r-2.5.8 nio4r-2.5.8.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0