diff options
author | rwatson <rwatson@FreeBSD.org> | 2006-06-08 22:33:18 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2006-06-08 22:33:18 +0000 |
commit | ae8495004108c5a504c927ec35fc4bf6b48b927c (patch) | |
tree | 3c64539170deb9b84b29e1d064cd7022094b4f83 | |
parent | 6389ae9dfed3f0581b137f934810f12fad54d1f0 (diff) | |
download | FreeBSD-src-ae8495004108c5a504c927ec35fc4bf6b48b927c.zip FreeBSD-src-ae8495004108c5a504c927ec35fc4bf6b48b927c.tar.gz |
Rearrange code in soalloc() so that it's less indented by returning
early if uma_zalloc() from the socket zone fails. No functional
change.
MFC after: 1 week
-rw-r--r-- | sys/kern/uipc_socket.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index b35faf0..f638f91 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -210,21 +210,21 @@ soalloc(int mflags) struct socket *so; so = uma_zalloc(socket_zone, mflags | M_ZERO); - if (so != NULL) { + if (so == NULL) + return (NULL); #ifdef MAC - if (mac_init_socket(so, mflags) != 0) { - uma_zfree(socket_zone, so); - return (NULL); - } -#endif - SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd"); - SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv"); - TAILQ_INIT(&so->so_aiojobq); - mtx_lock(&so_global_mtx); - so->so_gencnt = ++so_gencnt; - ++numopensockets; - mtx_unlock(&so_global_mtx); + if (mac_init_socket(so, mflags) != 0) { + uma_zfree(socket_zone, so); + return (NULL); } +#endif + SOCKBUF_LOCK_INIT(&so->so_snd, "so_snd"); + SOCKBUF_LOCK_INIT(&so->so_rcv, "so_rcv"); + TAILQ_INIT(&so->so_aiojobq); + mtx_lock(&so_global_mtx); + so->so_gencnt = ++so_gencnt; + ++numopensockets; + mtx_unlock(&so_global_mtx); return (so); } |