diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-03-16 07:03:14 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-03-16 07:03:14 +0000 |
commit | 053507bd40c99c756879636521e0827573f88946 (patch) | |
tree | 18f8a38d832ba3a76ee6c7ede2ca3a6acbb82de9 | |
parent | 865b6c5d997ec0ccc6b93fe7d64bcd86bf666e10 (diff) | |
download | FreeBSD-src-053507bd40c99c756879636521e0827573f88946.zip FreeBSD-src-053507bd40c99c756879636521e0827573f88946.tar.gz |
Change soabort() from returning int to returning void, since all
consumers ignore the return value, soabort() is required to succeed,
and protocols produce errors here to report multiple freeing of the
pcb, which we hope to eliminate.
-rw-r--r-- | sys/kern/uipc_sockbuf.c | 2 | ||||
-rw-r--r-- | sys/kern/uipc_socket.c | 8 | ||||
-rw-r--r-- | sys/kern/uipc_socket2.c | 2 | ||||
-rw-r--r-- | sys/netinet/tcp_syncache.c | 2 | ||||
-rw-r--r-- | sys/sys/socketvar.h | 2 |
5 files changed, 7 insertions, 9 deletions
diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index 0e2609b..bdeb344 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -266,7 +266,7 @@ sonewconn(head, connstatus) sp->so_qstate &= ~SQ_INCOMP; sp->so_head = NULL; ACCEPT_UNLOCK(); - (void) soabort(sp); + soabort(sp); ACCEPT_LOCK(); } TAILQ_INSERT_TAIL(&head->so_incomp, so, so_list); diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 561bafd..0d22b2e 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -434,7 +434,7 @@ soclose(so) sp->so_qstate &= ~SQ_INCOMP; sp->so_head = NULL; ACCEPT_UNLOCK(); - (void) soabort(sp); + soabort(sp); ACCEPT_LOCK(); } while ((sp = TAILQ_FIRST(&so->so_comp)) != NULL) { @@ -443,7 +443,7 @@ soclose(so) sp->so_qstate &= ~SQ_COMP; sp->so_head = NULL; ACCEPT_UNLOCK(); - (void) soabort(sp); + soabort(sp); ACCEPT_LOCK(); } ACCEPT_UNLOCK(); @@ -489,7 +489,7 @@ discard: * it to acquire additional socket locks that may cause recursion or lock * order reversals. */ -int +void soabort(so) struct socket *so; { @@ -500,9 +500,7 @@ soabort(so) ACCEPT_LOCK(); SOCK_LOCK(so); sotryfree(so); /* note: does not decrement the ref count */ - return (error); } - return (0); } int diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index 0e2609b..bdeb344 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -266,7 +266,7 @@ sonewconn(head, connstatus) sp->so_qstate &= ~SQ_INCOMP; sp->so_head = NULL; ACCEPT_UNLOCK(); - (void) soabort(sp); + soabort(sp); ACCEPT_LOCK(); } TAILQ_INSERT_TAIL(&head->so_incomp, so, so_list); diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 5999b99..2ba6808 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -720,7 +720,7 @@ abort: INP_UNLOCK(inp); abort2: if (so != NULL) - (void) soabort(so); + soabort(so); return (NULL); } diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index 4fdfcda..1ff3843 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -487,7 +487,7 @@ int sbreserve_locked(struct sockbuf *sb, u_long cc, struct socket *so, void sbtoxsockbuf(struct sockbuf *sb, struct xsockbuf *xsb); int sbwait(struct sockbuf *sb); int sb_lock(struct sockbuf *sb); -int soabort(struct socket *so); +void soabort(struct socket *so); int soaccept(struct socket *so, struct sockaddr **nam); struct socket *soalloc(int mflags); int socheckuid(struct socket *so, uid_t uid); |