diff options
author | rwatson <rwatson@FreeBSD.org> | 2004-06-25 20:12:06 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2004-06-25 20:12:06 +0000 |
commit | 7203fb63d4f7eff9b2b51a1f2b89a67861593d7b (patch) | |
tree | 48251fe42ec62a9facaa9c0d56600208f4a405a2 | |
parent | dfb6d511956c2a209c86265e60dde6f108cf61b3 (diff) | |
download | FreeBSD-src-7203fb63d4f7eff9b2b51a1f2b89a67861593d7b.zip FreeBSD-src-7203fb63d4f7eff9b2b51a1f2b89a67861593d7b.tar.gz |
Release UNIX domain socket subsystem lock earlier -- don't need to
hold it over free of unp_addr if we've already removed all references
to unp.
-rw-r--r-- | sys/kern/uipc_usrreq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index ea9a6a2..862b7be 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -656,9 +656,9 @@ unp_detach(unp) sorflush(unp->unp_socket); unp_gc(); } + UNP_UNLOCK(); if (unp->unp_addr != NULL) FREE(unp->unp_addr, M_SONAME); - UNP_UNLOCK(); uma_zfree(unp_zone, unp); if (vp) { mtx_lock(&Giant); |