BIND 10 #448: trunk (as of r3972) doesn't compile with clang++
BIND 10 Development
do-not-reply at isc.org
Tue Dec 28 22:27:18 UTC 2010
#448: trunk (as of r3972) doesn't compile with clang++
-------------------------------+--------------------------------------------
Reporter: jinmei | Owner: shane
Type: defect | Status: reviewing
Priority: critical | Milestone: feature backlog item
Component: build system | Resolution:
Keywords: | Sensitive: 0
Estimatedhours: 0.0 | Hours: 0
Billable: 1 | Totalhours: 0
Internal: 0 |
-------------------------------+--------------------------------------------
Changes (by jinmei):
* owner: jinmei => shane
Comment:
Replying to [comment:3 shane]:
> You learn a lot by reading code. I never knew SO_RCVTIMEO existed. Now
I'm thinking of all kinds of possibilities. :) Sadly this appears to not
work in Solaris, returning ENOPROTOOPT:
>
> #define ENOPROTOOPT 99 /* Protocol not available */
>
> This timeout could be reworked using a select()/poll()/whatever
mechanism, or perhaps SIGALRM could be used. Alternately we skip these
tests on Solaris.
>
> Otherwise this looks good, and having the shocking result of being a
patch that reduces lines of code!
>
Thanks for the prompt review.
I've worked around the Solaris issue in r4055 and r4058. I chose a
relatively simple workaround: just switch to non blocking recv() when
RCVTIMEO fails with ENOPROTOOPT. If we still encounter the recv() failure
due to the timing issue so often on Solaris, we'll then consider a more
complete solution (using select/poll, or add some more ad hoc wait with
usleep() when seeing ENOPROTOOPT, etc).
I also noticed some build errors on Solaris, which were fixed in r4054,
r4056, r4059, r4061, and r4062.
Are these fixes okay and is the branch ready to merge?
--
Ticket URL: <http://bind10.isc.org/ticket/448#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list