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