version 1.100, 2016/12/26 08:21:09 |
version 1.100.2.1, 2017/04/21 16:54:01 |
Line 1097 puffs_sop_thread(void *arg) |
|
Line 1097 puffs_sop_thread(void *arg) |
|
* We know the mountpoint is still alive because |
* We know the mountpoint is still alive because |
* the thread that is us (poetic?) is still alive. |
* the thread that is us (poetic?) is still alive. |
*/ |
*/ |
atomic_inc_uint((unsigned int*)&mp->mnt_refcnt); |
vfs_ref(mp); |
break; |
break; |
} |
} |
|
|
Line 1137 puffs_sop_thread(void *arg) |
|
Line 1137 puffs_sop_thread(void *arg) |
|
*/ |
*/ |
if (unmountme) { |
if (unmountme) { |
(void)dounmount(mp, MNT_FORCE, curlwp); |
(void)dounmount(mp, MNT_FORCE, curlwp); |
vfs_destroy(mp); |
vfs_rele(mp); |
} |
} |
|
|
kthread_exit(0); |
kthread_exit(0); |
Line 1182 puffs_msgif_close(void *ctx) |
|
Line 1182 puffs_msgif_close(void *ctx) |
|
} |
} |
|
|
/* Won't access pmp from here anymore */ |
/* Won't access pmp from here anymore */ |
atomic_inc_uint((unsigned int*)&mp->mnt_refcnt); |
vfs_ref(mp); |
puffs_mp_release(pmp); |
puffs_mp_release(pmp); |
mutex_exit(&pmp->pmp_lock); |
mutex_exit(&pmp->pmp_lock); |
|
|
/* Detach from VFS. */ |
/* Detach from VFS. */ |
(void)dounmount(mp, MNT_FORCE, curlwp); |
(void)dounmount(mp, MNT_FORCE, curlwp); |
vfs_destroy(mp); |
vfs_rele(mp); |
|
|
return 0; |
return 0; |
} |
} |