Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/f42-build-865275-172845/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=1209600uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --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'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1736208000 Wrote: /builddir/build/SRPMS/rubygem-nio4r-2.6.1-5.fc42.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target riscv64 --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/f42-build-865275-172845/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=1209600uid=991gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target riscv64 --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'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1736208000 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.Kvqwbr + umask 022 + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + test -d /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + /usr/bin/rm -rf /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + /usr/bin/mkdir -p /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + /usr/bin/mkdir -p /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.0IoYwE + umask 022 + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + rm -rf nio4r-2.6.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/nio4r-2.6.1.gem Unpacked gem: '/builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1' + STATUS=0 + '[' 0 -ne 0 ']' + cd nio4r-2.6.1 + /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.RXUKxi + umask 022 + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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.6.1 + gem build ../nio4r-2.6.1.gemspec WARNING: expected RubyGems version 3.6.2, was 3.4.10 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.6.1 File: nio4r-2.6.1.gem + mkdir -p ./usr/share/gems + CONFIGURE_ARGS='--with-cflags='\''-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer'\'' --with-cxxflags='\''-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer'\'' --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.6.1.gem WARNING: You build with buildroot. Build root: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1 Bin dir: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/bin Gem home: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems Plugins dir: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/plugins /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/.github/workflows/workflow.yml /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/.gitignore /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/.mailmap /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/.rspec /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/.rubocop.yml /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/Gemfile /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/Rakefile /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/changes.md /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/examples/echo_server.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/Changes /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/LICENSE /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/README /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev.h /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_epoll.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_iouring.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_kqueue.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_linuxaio.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_poll.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_port.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_select.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_vars.h /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_win32.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/libev/ev_wrap.h /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/.clang-format /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/bytebuffer.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/extconf.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/libev.h /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/monitor.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/nio4r.h /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/nio4r_ext.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/org/nio4r/ByteBuffer.java /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/org/nio4r/Monitor.java /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/org/nio4r/Nio4r.java /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/org/nio4r/Selector.java /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r/selector.c /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio/bytebuffer.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio/monitor.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio/selector.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio/version.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/lib/nio4r.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/license.md /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/logo.png /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/nio4r.gemspec /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/rakelib/extension.rake /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/rakelib/rspec.rake /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/rakelib/rubocop.rake /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/readme.md /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/acceptables_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/bytebuffer_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/monitor_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/selectables/pipe_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/selectables/ssl_socket_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/selectables/tcp_socket_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/selectables/udp_socket_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/nio/selector_spec.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/spec_helper.rb /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/spec/support/selectable_examples.rb Building native extensions. This could take a while... current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r ["/usr/bin/ruby", "-I/usr/share/rubygems", "extconf.rb"] checking for unistd.h... yes checking for rb_io_descriptor()... 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/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20250110-1175689-iaqa64", "sitelibdir=./.gem.20250110-1175689-iaqa64", "clean"] rm -f rm -fr nio4r_ext.so false bytebuffer.o monitor.o nio4r_ext.o selector.o *.bak mkmf.log .*.time current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20250110-1175689-iaqa64", "sitelibdir=./.gem.20250110-1175689-iaqa64"] gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_RB_IO_DESCRIPTOR -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 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -o bytebuffer.o -c bytebuffer.c bytebuffer.c: In function ‘NIO_ByteBuffer_allocate’: bytebuffer.c:99:5: warning: ‘rb_data_object_wrap_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 99 | return Data_Wrap_Struct(klass, NIO_ByteBuffer_gc_mark, NIO_ByteBuffer_free, bytebuffer); | ^~~~~~ In file included from /usr/include/ruby/internal/core.h:27, from /usr/include/ruby/ruby.h:29, from /usr/include/ruby.h:38, from nio4r.h:10, from bytebuffer.c:1: /usr/include/ruby/internal/core/rdata.h:293:1: note: declared here 293 | rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/ruby/internal/assume.h:29, from /usr/include/ruby/backward/2/assume.h:24, from /usr/include/ruby/defines.h:72, from /usr/include/ruby/ruby.h:25: bytebuffer.c: In function ‘NIO_ByteBuffer_initialize’: bytebuffer.c:116:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 116 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_clear’: bytebuffer.c:129:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 129 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_get_position’: bytebuffer.c:143:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 143 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_set_position’: bytebuffer.c:152:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 152 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_get_limit’: bytebuffer.c:176:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 176 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_set_limit’: bytebuffer.c:185:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 185 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_capacity’: bytebuffer.c:213:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 213 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_remaining’: bytebuffer.c:221:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 221 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_full’: bytebuffer.c:229:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 229 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_get’: bytebuffer.c:239:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 239 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_fetch’: bytebuffer.c:267:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 267 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_put’: bytebuffer.c:286:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 286 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_read_from’: bytebuffer.c:306:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 306 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_write_to’: bytebuffer.c:336:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 336 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_flip’: bytebuffer.c:363:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 363 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_rewind’: bytebuffer.c:375:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 375 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_mark’: bytebuffer.c:386:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 386 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_reset’: bytebuffer.c:395:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 395 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_compact’: bytebuffer.c:409:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 409 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_each’: bytebuffer.c:422:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 422 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bytebuffer.c: In function ‘NIO_ByteBuffer_inspect’: bytebuffer.c:438:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 438 | Data_Get_Struct(self, struct NIO_ByteBuffer, buffer); | ^~~~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_RB_IO_DESCRIPTOR -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 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -o monitor.o -c monitor.c monitor.c: In function ‘NIO_Monitor_allocate’: monitor.c:78:5: warning: ‘rb_data_object_wrap_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 78 | return Data_Wrap_Struct(klass, NIO_Monitor_mark, NIO_Monitor_free, monitor); | ^~~~~~ In file included from /usr/include/ruby/internal/core.h:27, from /usr/include/ruby/ruby.h:29, from /usr/include/ruby.h:38, from nio4r.h:10, from monitor.c:6: /usr/include/ruby/internal/core/rdata.h:293:1: note: declared here 293 | rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/ruby/internal/assume.h:29, from /usr/include/ruby/backward/2/assume.h:24, from /usr/include/ruby/defines.h:72, from /usr/include/ruby/ruby.h:25: monitor.c: In function ‘NIO_Monitor_initialize’: monitor.c:99:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 99 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from libev.h:7, from nio4r.h:9: ../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:112:5: note: in expansion of macro ‘ev_io_init’ 112 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, descriptor, 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:112:5: note: in expansion of macro ‘ev_io_init’ 112 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, descriptor, 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:112:5: note: in expansion of macro ‘ev_io_init’ 112 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, descriptor, 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:112:5: note: in expansion of macro ‘ev_io_init’ 112 | ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, descriptor, monitor->interests); | ^~~~~~~~~~ monitor.c:118:42: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 118 | Data_Get_Struct(selector_obj, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_close’: monitor.c:138:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 138 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_is_closed’: monitor.c:164:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 164 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_add_interest’: monitor.c:193:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 193 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_remove_interest’: monitor.c:204:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 204 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_readiness’: monitor.c:230:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 230 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_is_readable’: monitor.c:246:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 246 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_is_writable’: monitor.c:258:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 258 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.c: In function ‘NIO_Monitor_update_interests’: monitor.c:289:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 289 | Data_Get_Struct(self, struct NIO_Monitor, monitor); | ^~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_RB_IO_DESCRIPTOR -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 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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:845:13: warning: "ECB_MEMORY_FENCE_RELAXED" redefined 845 | #define ECB_MEMORY_FENCE_RELAXED __atomic_thread_fence (__ATOMIC_RELAXED) | ^~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:785:13: note: this is the location of the previous definition 785 | #define ECB_MEMORY_FENCE_RELAXED __asm__ __volatile__ ("" : : : "memory") | ^~~~~~~~~~~~~~~~~~~~~~~~ ../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_RB_IO_DESCRIPTOR -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 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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:123:5: warning: ‘rb_data_object_wrap_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 123 | return Data_Wrap_Struct(klass, NIO_Selector_mark, NIO_Selector_free, selector); | ^~~~~~ In file included from /usr/include/ruby/internal/core.h:27, from /usr/include/ruby/ruby.h:29, from /usr/include/ruby.h:38, from nio4r.h:10: /usr/include/ruby/internal/core/rdata.h:293:1: note: declared here 293 | rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/ruby/internal/assume.h:29, from /usr/include/ruby/backward/2/assume.h:24, from /usr/include/ruby/defines.h:72, from /usr/include/ruby/ruby.h:25: selector.c: In function ‘NIO_Selector_initialize’: selector.c:208:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 208 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_backend’: selector.c:262:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 262 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_register_synchronized’: selector.c:340:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 340 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_select_synchronized’: selector.c:421:37: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 421 | Data_Get_Struct(args[0], struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_wakeup’: selector.c:493:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 493 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_close_synchronized’: selector.c:515:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 515 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_closed_synchronized’: selector.c:532:34: warning: ‘rb_data_object_get_warning’ is deprecated: by TypedData [-Wdeprecated-declarations] 532 | Data_Get_Struct(self, struct NIO_Selector, selector); | ^~~~~~~~~~~~ /usr/include/ruby/internal/core/rdata.h:325:1: note: declared here 325 | rb_data_object_get_warning(VALUE obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_wakeup’: selector.c:500:5: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 500 | 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 -lruby -lm -lpthread -lc : current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20250110-1175689-iaqa64", "sitelibdir=./.gem.20250110-1175689-iaqa64", "install"] /usr/bin/mkdir -p . ./.gem.20250110-1175689-iaqa64 exit > .sitearchdir.time /usr/bin/install -c -m 0755 nio4r_ext.so ./.gem.20250110-1175689-iaqa64 current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r ["make", "DESTDIR=", "sitearchdir=./.gem.20250110-1175689-iaqa64", "sitelibdir=./.gem.20250110-1175689-iaqa64", "clean"] rm -f rm -fr nio4r_ext.so false bytebuffer.o monitor.o nio4r_ext.o selector.o *.bak mkmf.log .*.time current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r /usr/bin/ruby -I/usr/share/rubygems extconf.rb current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20250110-1175689-iaqa64 sitelibdir\=./.gem.20250110-1175689-iaqa64 clean current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20250110-1175689-iaqa64 sitelibdir\=./.gem.20250110-1175689-iaqa64 current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20250110-1175689-iaqa64 sitelibdir\=./.gem.20250110-1175689-iaqa64 install current directory: /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1/ext/nio4r make DESTDIR\= sitearchdir\=./.gem.20250110-1175689-iaqa64 sitelibdir\=./.gem.20250110-1175689-iaqa64 clean Successfully installed nio4r-2.6.1 Parsing documentation for nio4r-2.6.1 Parsing sources... 3% [ 1/33] ext/libev/Changes 6% [ 2/33] ext/libev/LICENSE 9% [ 3/33] ext/libev/README 12% [ 4/33] ext/libev/ev.c 15% [ 5/33] ext/libev/ev.h 18% [ 6/33] ext/libev/ev_epoll.c 21% [ 7/33] ext/libev/ev_iouring.c 24% [ 8/33] ext/libev/ev_kqueue.c 27% [ 9/33] ext/libev/ev_linuxaio.c 30% [10/33] ext/libev/ev_poll.c 33% [11/33] ext/libev/ev_port.c 36% [12/33] ext/libev/ev_select.c 39% [13/33] ext/libev/ev_vars.h 42% [14/33] ext/libev/ev_win32.c 45% [15/33] ext/libev/ev_wrap.h 48% [16/33] ext/nio4r/Makefile 51% [17/33] ext/nio4r/bytebuffer.c 54% [18/33] ext/nio4r/extconf.rb 57% [19/33] ext/nio4r/libev.h 60% [20/33] ext/nio4r/monitor.c 63% [21/33] ext/nio4r/nio4r.h 66% [22/33] ext/nio4r/nio4r_ext.c 69% [23/33] ext/nio4r/org/nio4r/ByteBuffer.java 72% [24/33] ext/nio4r/org/nio4r/Monitor.java 75% [25/33] ext/nio4r/org/nio4r/Nio4r.java 78% [26/33] ext/nio4r/org/nio4r/Selector.java 81% [27/33] ext/nio4r/selector.c 84% [28/33] lib/nio.rb 87% [29/33] lib/nio/bytebuffer.rb 90% [30/33] lib/nio/monitor.rb 93% [31/33] lib/nio/selector.rb 96% [32/33] lib/nio/version.rb 100% [33/33] lib/nio4r.rb Installing ri documentation for nio4r-2.6.1 Installing darkfish documentation for nio4r-2.6.1 Done installing documentation for nio4r after 5 seconds 1 gem installed + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.lyQ44x + umask 022 + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + '[' /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT ++ dirname /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT + mkdir -p /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + mkdir /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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.6.1 + mkdir -p /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT/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/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT/usr/share/gems/ + mkdir -p /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT/usr/lib64/gems/ruby/nio4r-2.6.1 + cp -a ./usr/lib64/gems/ruby/nio4r-2.6.1/gem.build_complete ./usr/lib64/gems/ruby/nio4r-2.6.1/nio4r_ext.so /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT/usr/lib64/gems/ruby/nio4r-2.6.1/ + rm -rf /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT/usr/share/gems/gems/nio4r-2.6.1/ext/ + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 2.6.1-5.fc42 --unique-debug-suffix -2.6.1-5.fc42.riscv64 --unique-debug-src-base rubygem-nio4r-2.6.1-5.fc42.riscv64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1 find-debuginfo: starting Extracting debug info from 1 files DWARF-compressing 1 files sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/rubygem-nio4r-2.6.1-5.fc42.riscv64 find-debuginfo: done + /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.6.1/examples/echo_server.rb from /usr/bin/env ruby to #!/usr/bin/ruby + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT Scanned 70 directories and 175 files, processed 17 inodes, 0 modified (0 replaced + 0 rewritten), 0 unsupported format, 0 errors Reading /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/SPECPARTS/rpm-debuginfo.specpart Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.ifdI7y + umask 022 + cd /builddir/build/BUILD/rubygem-nio4r-2.6.1-build + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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 ~/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/share/gems/gems/nio4r-2.6.1 ~/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1 + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd nio4r-2.6.1 + pushd ./usr/share/gems/gems/nio4r-2.6.1 ++ 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 ']' ++ dirs +1 + rspec -I~/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/lib64/gems/ruby/nio4r-2.6.1 spec Randomized with seed 59395 NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness NIO::ByteBuffer #flip flips the bytebuffer sets limit to the previous position sets remaining to the previous position #each iterates over data in the buffer #[] raises ArgumentError if the index exceeds the limit raises ArgumentError if the index is less than zero obtains bytes at a given index without altering position #mark returns self #remaining calculates the number of bytes remaining #position= raises ArgumentError if the specified position is less than zero raises ArgumentError if the specified position exceeds the limit sets the buffer's position to a valid value #reset raises NIO::ByteBuffer::MarkUnsetError unless mark has been set returns to a previously marked position #initialize raises TypeError if given a bogus argument #get advances position as data is read reads zeroes from a newly initialized buffer raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer reads all remaining data if no length is given #clear clears the buffer #<< raises TypeError if given a non-String type raises NIO::ByteBuffer::OverflowError if the buffer is full adds strings to the buffer #rewind rewinds the buffer leaving the limit intact #position defaults to zero 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 reads data into the buffer raises NIO::ByteBuffer::OverflowError if the buffer is already full #full? returns true when the buffer is full returns false when there is space remaining in the buffer #capacity has the requested capacity #limit= clears the mark if the new limit is before the current mark raises ArgumentError if specified limit exceeds capacity raises ArgumentError if specified limit is less than zero sets the buffer's limit to a valid value preserves position and mark if they're less than the new limit sets position to the new limit if the previous position is beyond the limit #inspect inspects the buffer offsets #limit defaults to the buffer's capacity #compact copies data from the current position to the beginning of the buffer UDPSocket behaves like an NIO selectable does not select unreadable objects selects writable objects does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) selects readable objects IO.pipe behaves like an NIO selectable selects readable objects selects writable objects does not select unreadable objects does not select unwritable objects behaves like an NIO selectable stream selects readable when the other end closes NIO::Selector deregisters IO objects allows deregistering closed IO objects closes allows reregistration of the same IO object across select calls knows which IO objects are registered reports if it is empty register registers IO objects raises when asked to register after closing raises TypeError if asked to register non-IO objects select does not block on super small precision intervals selects IO objects raises IOError if asked to select on a closed selector iterates across selected objects with a block selects closed IO objects #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 timeouts waits for a timeout when selecting with reader waits for timeout when selecting from empty selector raises ArgumentError if given a negative timeout backend knows its backend Current backend: epoll wakeup raises IOError if asked to wake up a closed selector wakes up if signaled to from another thread .backends knows all supported backends TCPSocket connect selects writable when connected behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO bidirectional stream keeps readiness after the selectable has been closed selects readable and writable behaves like an NIO selectable does not select unwritable objects does not select unreadable objects selects readable objects selects writable objects NIO::Monitor #interests= can set interests to nil raises EOFError if interests are changed after the monitor is closed changes the interest set #io knows its IO object #close closes even if the selector has been shutdown closes #interests knows its interests #selector knows its selector #remove_interest acts idempotently can clear the last interest removes an interest from the set raises ArgumentError if given a bogus option #add_interest sets a new interest if it isn't currently registered raises ArgumentError if given a bogus option acts idempotently #readiness knows what operations IO objects are ready for #value= stores arbitrary values OpenSSL::SSL::SSLSocket using TLS 1.3 behaves like an NIO selectable selects readable objects does not select unwritable objects selects writable objects does not select unreadable objects behaves like an NIO selectable stream selects readable when the other end closes using TLS 1.2 behaves like an NIO selectable selects writable objects does not select unreadable objects selects readable objects does not select unwritable objects behaves like an NIO selectable stream selects readable when the other end closes 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: 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:54 # ./spec/support/selectable_examples.rb:44:in 'NIO::Monitor#initialize' # ./spec/support/selectable_examples.rb:44:in 'NIO::Selector#register' # ./spec/support/selectable_examples.rb:44:in 'block (2 levels) in ' Finished in 20.76 seconds (files took 1.33 seconds to load) 112 examples, 0 failures, 1 pending Randomized with seed 59395 ++ dirs +1 + NIO4R_PURE=true + rspec -I~/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1/usr/lib64/gems/ruby/nio4r-2.6.1 spec Randomized with seed 31590 TCPSocket behaves like an NIO selectable stream selects readable when the other end closes behaves like an NIO bidirectional stream keeps readiness after the selectable has been closed selects readable and writable 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 connect selects writable when connected NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness NIO::Selector closes allows reregistration of the same IO object across select calls deregisters IO objects allows deregistering closed IO objects reports if it is empty knows which IO objects are registered register raises when asked to register after closing raises TypeError if asked to register non-IO objects registers IO objects .backends knows all supported backends select raises IOError if asked to select on a closed selector does not block on super small precision intervals selects IO objects iterates across selected objects with a block selects closed IO objects timeouts waits for a timeout when selecting with reader raises ArgumentError if given a negative timeout waits for timeout when selecting from empty selector backend knows its backend Current backend: ruby #initialize raises ArgumentError if given an invalid backend automatically selects a backend if none or nil is specified allows explicitly specifying a backend Supported backends: [:ruby] raises TypeError if given a non-Symbol parameter wakeup raises IOError if asked to wake up a closed selector wakes up if signaled to from another thread NIO::ByteBuffer #initialize raises TypeError if given a bogus argument #position= sets the buffer's position to a valid value raises ArgumentError if the specified position is less than zero raises ArgumentError if the specified position exceeds the limit #limit defaults to the buffer's capacity #full? returns true when the buffer is full returns false when there is space remaining in the buffer #reset raises NIO::ByteBuffer::MarkUnsetError unless mark has been set returns to a previously marked position #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 #clear clears the buffer #inspect inspects the buffer offsets #remaining calculates the number of bytes remaining #<< raises TypeError if given a non-String type raises NIO::ByteBuffer::OverflowError if the buffer is full adds strings to the buffer #each iterates over data in the buffer I/O #write_to writes data from the buffer raises NIO::ByteBuffer::UnderflowError if the buffer is out of data #read_from returns 0 if no data is available raises NIO::ByteBuffer::OverflowError if the buffer is already full reads data into the buffer #limit= sets the buffer's limit to a valid value raises ArgumentError if specified limit exceeds capacity preserves position and mark if they're less than the new limit raises ArgumentError if specified limit is less than zero sets position to the new limit if the previous position is beyond the limit clears the mark if the new limit is before the current mark #flip sets limit to the previous position flips the bytebuffer sets remaining to the previous position #compact copies data from the current position to the beginning of the buffer #position defaults to zero #[] obtains bytes at a given index without altering position raises ArgumentError if the index exceeds the limit raises ArgumentError if the index is less than zero #rewind rewinds the buffer leaving the limit intact #mark returns self #capacity has the requested capacity UDPSocket behaves like an NIO selectable selects writable objects does not select unreadable objects selects readable objects does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) 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 does not select unreadable objects selects writable objects selects readable objects using TLS 1.3 behaves like an NIO selectable does not select unreadable objects selects readable objects selects writable objects does not select unwritable objects behaves like an NIO selectable stream selects readable when the other end closes NIO::Monitor #readiness knows what operations IO objects are ready for #interests= can set interests to nil changes the interest set raises EOFError if interests are changed after the monitor is closed #close closes closes even if the selector has been shutdown #interests knows its interests #value= stores arbitrary values #add_interest acts idempotently sets a new interest if it isn't currently registered raises ArgumentError if given a bogus option #io knows its IO object #remove_interest removes an interest from the set can clear the last interest raises ArgumentError if given a bogus option acts idempotently #selector knows its selector IO.pipe behaves like an NIO selectable does not select unwritable objects selects readable objects does not select unreadable objects selects writable objects behaves like an NIO selectable stream selects readable when the other end closes 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: [#, @interests=:w, ...003f76cd45a0>, @wakeup=#, @waker=#, @closed=false>, @closed=false, @readiness=:w>] Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/tcp_socket_spec.rb:79 # ./spec/support/selectable_examples.rb:46: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: 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:54 # ./lib/nio/monitor.rb:26:in 'NIO::Monitor#initialize' # ./lib/nio/selector.rb:74:in 'Class#new' # ./lib/nio/selector.rb:74:in 'block in NIO::Selector#register' # ./lib/nio/selector.rb:68:in 'Thread::Mutex#synchronize' # ./lib/nio/selector.rb:68:in 'NIO::Selector#register' # ./spec/support/selectable_examples.rb:44:in 'block (2 levels) in ' Finished in 19.12 seconds (files took 1.31 seconds to load) 112 examples, 0 failures, 2 pending Randomized with seed 31590 + popd ~/build/BUILD/rubygem-nio4r-2.6.1-build/nio4r-2.6.1 + RPM_EC=0 ++ jobs -p + exit 0 Processing files: rubygem-nio4r-2.6.1-5.fc42.riscv64 Provides: bundled(libev) = 4.33 rubygem(nio4r) = 2.6.1 rubygem-nio4r = 2.6.1-5.fc42 rubygem-nio4r(riscv-64) = 2.6.1-5.fc42 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ld-linux-riscv64-lp64d.so.1()(64bit) ld-linux-riscv64-lp64d.so.1(GLIBC_2.27)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.38)(64bit) libruby.so.3.4()(64bit) rtld(GNU_HASH) ruby(rubygems) Processing files: rubygem-nio4r-doc-2.6.1-5.fc42.noarch Provides: rubygem-nio4r-doc = 2.6.1-5.fc42 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.6.1-5.fc42.riscv64 Provides: rubygem-nio4r-debugsource = 2.6.1-5.fc42 rubygem-nio4r-debugsource(riscv-64) = 2.6.1-5.fc42 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.6.1-5.fc42.riscv64 Provides: debuginfo(build-id) = 2b235e286ca089262d7d282769c4e9cd5f8cde41 rubygem-nio4r-debuginfo = 2.6.1-5.fc42 rubygem-nio4r-debuginfo(riscv-64) = 2.6.1-5.fc42 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: rubygem-nio4r-debugsource(riscv-64) = 2.6.1-5.fc42 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/rubygem-nio4r-2.6.1-build/BUILDROOT Wrote: /builddir/build/RPMS/rubygem-nio4r-2.6.1-5.fc42.riscv64.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-debuginfo-2.6.1-5.fc42.riscv64.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-debugsource-2.6.1-5.fc42.riscv64.rpm Wrote: /builddir/build/RPMS/rubygem-nio4r-doc-2.6.1-5.fc42.noarch.rpm Child return code was: 0