Re: solisten() question: why do we check for completed connections?

From: Bill Fenner (fenner_at_research.att.com)
Date: 02/18/05

  • Next message: Robert Watson: "Re: solisten() question: why do we check for completed connections?"
    To: rwatson@freebsd.org
    Date: Thu, 17 Feb 2005 16:37:56 -0800
    
    

    Robert,

      The code in rev 7.1 (4.3BSD) was:

            if (so->so_q == 0) {
                    so->so_q = so;
                    so->so_q0 = so;
                    so->so_options |= SO_ACCEPTCONN;
            }

    which looks like it's initializing q0 and q to be circular queues,
    which has to only happen once, and also setting SO_ACCEPTCONN; since
    nothing ever turns off SO_ACCEPTCONN, this is not something that
    has to happen only once. When the stuff that had to happen only
    once got removed, the conditional remained.

    So, I'd say that setting SO_ACCEPTCONN is required, but the conditional
    is not. I don't know if that helps your race or not.

      Bill
    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"


  • Next message: Robert Watson: "Re: solisten() question: why do we check for completed connections?"