]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/nfs/nfs_vfsops.c
xnu-517.9.4.tar.gz
[apple/xnu.git] / bsd / nfs / nfs_vfsops.c
index 8caffeca53b0fd9fd17a4c322a40a02af0ef75d6..192cd1f014d881183c4283de2c4c47adb1c25ad6 100644 (file)
@@ -1109,6 +1109,11 @@ nfs_unmount(mp, mntflags, p)
                if (hw_atomic_sub(&nfsreqqusers, 1) != 0)
                        nfsatompanic("unmount sub");
 #endif
+               /* Need to wake up any rcvlock waiters so they notice the unmount. */
+               if (nmp->nm_state & NFSSTA_WANTRCV) {
+                       nmp->nm_state &= ~NFSSTA_WANTRCV;
+                       wakeup(&nmp->nm_state);
+               }
                FREE_ZONE((caddr_t)nmp, sizeof (struct nfsmount), M_NFSMNT);
        }
        return (0);