Date: Thu, 17 Feb 2005 16:37:56 -0800 From: Bill Fenner <fenner@research.att.com> To: rwatson@freebsd.org Cc: net@freebsd.org Subject: Re: solisten() question: why do we check for completed connections? Message-ID: <200502180037.j1I0bu9F001044@bright.research.att.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502180037.j1I0bu9F001044>