mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 12:35:14 +00:00
Fix bug where Vnode kept its Inode alive indefinitely.
This commit is contained in:
parent
033a42b580
commit
12a6963a5d
Notes:
sideshowbarker
2024-07-19 16:07:22 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/12a6963a5d8
2 changed files with 5 additions and 1 deletions
|
@ -368,7 +368,10 @@ ByteBuffer procfs$vnodes()
|
|||
path = static_cast<const TTY*>(dev)->tty_name();
|
||||
}
|
||||
}
|
||||
ptr += ksprintf(ptr, "vnode %03u: %02u:%08u (%u) %s\n", i, vnode.inode.fsid(), vnode.inode.index(), vnode.retain_count(), path.characters());
|
||||
ptr += ksprintf(ptr, "vnode %03u: %02u:%08u (%u) %s", i, vnode.inode.fsid(), vnode.inode.index(), vnode.retain_count(), path.characters());
|
||||
if (vnode.characterDevice())
|
||||
ptr += ksprintf(ptr, " (chardev: %p)", vnode.characterDevice());
|
||||
ptr += ksprintf(ptr, "\n");
|
||||
}
|
||||
*ptr = '\0';
|
||||
buffer.trim(ptr - (char*)buffer.pointer());
|
||||
|
|
|
@ -198,6 +198,7 @@ void VFS::freeNode(Vnode* node)
|
|||
m_inode2vnode.remove(node->inode);
|
||||
node->inode.fs()->release();
|
||||
node->inode = InodeIdentifier();
|
||||
node->m_core_inode = nullptr;
|
||||
}
|
||||
if (node->m_characterDevice) {
|
||||
m_device2vnode.remove(encodedDevice(node->m_characterDevice->major(), node->m_characterDevice->minor()));
|
||||
|
|
Loading…
Add table
Reference in a new issue