Hi David,
On Fri, Apr 29, 2016 at 10:12:41AM +0200, David Moreno Montero wrote:
> as planned, I want to publish onion v0.8 today.
Great. As it happens, I updated my app to your latest code just
yesterday, and tested it for a few hours (mostly at 10k requests/second
from same LAN, but also a similar test from another continent for a
shorter period to see behavior with higher and less stable latency) - no
unexpected issues.
In my testing, I had excluded the poller.c portion of commit
7fb66d1df141fc36c7694954e4fc8cd78c9f3884. You might want to revert this
portion before the release, as I think it only hides real errors now
(not expected errors). In my testing yesterday, that ONION_ERROR was
never triggered, despite of the removed check for "errno!=ENOENT &&
errno!=EBADF". I think EBADF, if it ever occurs there, definitely
indicates real errors: it means the fd was already closed, and thus
could as well have been reused by another thread (in which case an even
worse error would be hidden from us). I don't know why ENOENT would
possibly occur there. Neither actually occurs for me with current code.
I was building onion (as well as my app) with "gcc version 4.4.7
20120313 (Red Hat 4.4.7-11) (GCC)" on Scientific Linux 6.6. I didn't
try building/running your tests (I was using only my app as the test).
I notice your README.md now lists "GCC 4.7" as a minimum requirement.
Maybe this should be relaxed to 4.4 or 4.4.7? It'd be nice for someone
to test building the whole thing (including tests and including other
build options, not just epoll with threads) on a RHEL6'ish distro like
what I had. Unfortunately, I have no time for this.
As a test, I also test-built my app + onion from yesterday on CentOS 7.1
("gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)"). It built fine.
I didn't test the resulting binary there.
> Anyway, I wanted to check if nobody has a final request to get into the
> release. If there is none, I will publish later today.
It's just two minor suggestions above from me: on reverting the poller.c
hunk of 7fb66d1df141fc36c7694954e4fc8cd78c9f3884 and on testing and
listing an older version of GCC as minimum requirement. But these are
optional. No showstoppers.
Thank you!
Alexander