fb273732   
   From: rick.jones2@hp.com   
      
   David Goodenough wrote:   
   > On Oct 13, 2:38 pm, Rick Jones wrote:   
      
   > > Are you *quite* certain (IE have seen it in an strace) that your   
   > > setsockopt() calls to set SO_REUSEADDR are successful?   
      
   > Haven't looked in strace. I was assuming it was all good since the   
   > call to setsockopt returned zero (success). Is there anything I can   
   > get from strace that I can't get from the return value and/or errno?   
      
   Well, it would double check that you were passing-in a value of 1   
   rather than 0 I suppose. In the vein of debugging you could   
   also/instead do a getsockopt(SO_REUSEADDR) against the socket after   
   the setsockopt() call.   
      
   > SYN_RECVD ... I'm not massively worried about a timeout after sending   
   > the SYN,ACK back to the client. Correct me if I'm wrong, but the   
   > client will be at liberty to think the connection is open, since it'll   
   > have seen the SYN,ACK. This means a timeout here will ultimately lead   
   > to us dumping the connection much like a timeout while ESTABLISHED.   
   > In either case the client will have to field a RST from us at some   
   > stage, and deal with it as best it can.   
      
   I wasn't thinking about what the client could assume, but what might   
   preclude your rebinding the listen() endpoint. If a TIME_WAIT,   
   FIN_WAIT_[12] and LAST_ACK are indeed precluding a rebinding of the   
   listen endpoint, I would think a SYN_RECVD would as well.   
      
   rick jones   
   --   
   portable adj, code that compiles under more than one compiler   
   these opinions are mine, all mine; HP might not want them anyway... :)   
   feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|