socketry / nio4r

Cross-platform asynchronous I/O primitives for scalable network clients and servers.
Other
965 stars 86 forks source link

Missing return statement in function returning non-void #275

Closed tyan-boot closed 2 years ago

tyan-boot commented 2 years ago

in ext/libev/ev_iouring.c, iouring_sqe_submit and iouring_internal_destroy function returning non-void but no return statement, cause build failed with

../libev/ev_iouring.c:300:1: error: no return statement in function returning non-void [-Werror=return-type]
  300 | }
      | ^
../libev/ev_iouring.c: In function ‘iouring_internal_destroy’:
../libev/ev_iouring.c:331:1: error: no return statement in function returning non-void [-Werror=return-type]
  331 | }

OS: openSUSE tumbleweed

ioquatix commented 2 years ago

This looks like an issue with libev which we pull in. Maybe it is fixed in an update of libev. I will check.

ioquatix commented 2 years ago

I checked the latest release of libev and it's an upstream bug. I've manually fixed the code in question.

ioquatix commented 2 years ago

@tyan-boot do you have time to test this fix? It would be really helpful, I'm swamped.

tyan-boot commented 2 years ago

@ioquatix sorry i have no ruby experience, but i run rake clean; rake compile in my openSUSE tumbleweed with https://github.com/socketry/nio4r/commit/e13165cefe1203cc92eeec280cf687b089c59e72, it successful generate tmp/x86_64-linux-gnu/stage/lib/nio4r_ext.so, i guess it gets fixed?

Adriankhl commented 2 years ago

Can we have a bug fix release for this?

ioquatix commented 2 years ago

Okay, I released v2.5.8.