Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Feb 2005 14:35:23 +0000 (GMT)
From:      Robert Watson <rwatson@reeBSD.org>
To:        Andre Oppermann <andre@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: panic: tcp_input: TCPS_LISTEN in netinet/tcp_input.c:1016
Message-ID:  <Pine.NEB.3.96L.1050216143254.87356Q-100000@fledge.watson.org>
In-Reply-To: <421358FB.9090000@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 16 Feb 2005, Andre Oppermann wrote:

> I was pulling out my hair because I couldn't figure out how this can
> happen.  I never thought about the socket layer and was only tracing and
> following the TCP code back and forth and back and forth...  Really good
> catch! 

I went to bed last night after a few hours of trying to figure out how on
earth we could be racing during socket allocation and getting our tcpcb's
mixed up, but had just noticed that the contents of the tcpcb were
basically in the "I've just been listen()'d" state, and the socket looked
like it was exposed to the user (no SS_NOFDREF) but otherwise unused.  I
woke up in the morning thinking "Oh.  I guess it's still being set up to
listen, which would explain the lack of SO_ACCEPTCONN".  I guess sleeping
on things really does help :-).

Not sure if you saw my post on freebsd-net this afternoon, but if you have
a moment, I'd like your insight into the conditional setting of
SO_ACCEPTCONN in solisten(), which would be nice to get rid of if it's
unneeded.

Robert N M Watson




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1050216143254.87356Q-100000>