diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-07-11 23:18:28 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-07-11 23:18:28 +0000 |
commit | 2137fc50e63deaaa5b157d30cad71e58e711f606 (patch) | |
tree | 929b63820e4c3cfe7ce25a1c573b885f1b5ce22d /sys/kern/uipc_socket.c | |
parent | b7a5696a9bda1d0dfd383a3ac205be5a490d5ccb (diff) | |
download | FreeBSD-src-2137fc50e63deaaa5b157d30cad71e58e711f606.zip FreeBSD-src-2137fc50e63deaaa5b157d30cad71e58e711f606.tar.gz |
Several protocol switch functions (pru_abort, pru_detach, pru_sosetlabel)
return void, so don't implement no-op versions of these functions.
Instead, consistently check if those switch pointers are NULL before
invoking them.
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r-- | sys/kern/uipc_socket.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 879fa32..c275869 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -653,7 +653,8 @@ soclose(so) } drop: - (*so->so_proto->pr_usrreqs->pru_detach)(so); + if (*so->so_proto->pr_usrreqs->pru_detach != NULL) + (*so->so_proto->pr_usrreqs->pru_detach)(so); ACCEPT_LOCK(); SOCK_LOCK(so); KASSERT((so->so_state & SS_NOFDREF) == 0, ("soclose: NOFDREF")); @@ -696,7 +697,8 @@ soabort(so) KASSERT((so->so_state & SQ_COMP) == 0, ("soabort: SQ_COMP")); KASSERT((so->so_state & SQ_INCOMP) == 0, ("soabort: SQ_INCOMP")); - (*so->so_proto->pr_usrreqs->pru_abort)(so); + if (*so->so_proto->pr_usrreqs->pru_abort != NULL) + (*so->so_proto->pr_usrreqs->pru_abort)(so); ACCEPT_LOCK(); SOCK_LOCK(so); sofree(so); |