Fix a bug in the loop in sonewconn that makes room on the incomplete

connection queue for a new connection.  It was removing connections
from the wrong list.

Submitted by:	Paul Mikesell
Sponsored by:	Isilon Systems
MFC after:	1 week
This commit is contained in:
John Polstra 2005-11-22 01:55:29 +00:00
parent 829733d045
commit ba3612cd5c
2 changed files with 2 additions and 2 deletions

View File

@ -261,7 +261,7 @@ sonewconn(head, connstatus)
while (head->so_incqlen > head->so_qlimit) {
struct socket *sp;
sp = TAILQ_FIRST(&head->so_incomp);
TAILQ_REMOVE(&so->so_incomp, sp, so_list);
TAILQ_REMOVE(&head->so_incomp, sp, so_list);
head->so_incqlen--;
sp->so_qstate &= ~SQ_INCOMP;
sp->so_head = NULL;

View File

@ -261,7 +261,7 @@ sonewconn(head, connstatus)
while (head->so_incqlen > head->so_qlimit) {
struct socket *sp;
sp = TAILQ_FIRST(&head->so_incomp);
TAILQ_REMOVE(&so->so_incomp, sp, so_list);
TAILQ_REMOVE(&head->so_incomp, sp, so_list);
head->so_incqlen--;
sp->so_qstate &= ~SQ_INCOMP;
sp->so_head = NULL;