serenity/Kernel/FileSystem
Peter Elliott ae5d7f542c Kernel: Change polarity of weak ownership between Inode and LocalSocket
There was a bug in which bound Inodes would lose all their references
(because localsocket does not reference them), and they would be
deallocated, and clients would get ECONNREFUSED as a result. now
LocalSocket has a strong reference to inode so that the inode will live
as long as the socket, and Inode has a weak reference to the socket,
because if the socket stops being referenced anywhere it should not be
bound.

This still prevents the reference loop that
220b7dd779 was trying to fix.
2023-02-19 00:37:37 +01:00
..
DevPtsFS
Ext2FS Kernel: Use AK::Stream to write packed binary data 2023-02-08 18:50:31 +00:00
FATFS AK: Add conversion functions for packed DOS time format 2023-02-12 13:13:15 -07:00
ISO9660FS
Plan9FS Kernel: Explicitly copy Plan9FS read errors to registered delegates 2023-02-10 09:08:52 +00:00
ProcFS Kernel/FileSystem: Simplify the ProcFS inode code 2023-01-29 12:59:30 +01:00
RAMFS Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
SysFS Kernel: Dont crash if power states gets set to an invalid value 2023-02-18 23:52:20 +01:00
AnonymousFile.cpp
AnonymousFile.h
BlockBasedFileSystem.cpp
BlockBasedFileSystem.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Custody.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Custody.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
DeviceFileTypes.h
FIFO.cpp
FIFO.h
File.cpp
File.h
FileBackedFileSystem.cpp
FileBackedFileSystem.h
FileSystem.cpp
FileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Inode.cpp Kernel: Change polarity of weak ownership between Inode and LocalSocket 2023-02-19 00:37:37 +01:00
Inode.h Kernel: Change polarity of weak ownership between Inode and LocalSocket 2023-02-19 00:37:37 +01:00
InodeFile.cpp Kernel+Userland: Move LibC/sys/ioctl_numbers to Kernel/API/Ioctl.h 2023-01-21 10:43:59 -07:00
InodeFile.h
InodeIdentifier.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
InodeMetadata.cpp
InodeMetadata.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
InodeWatcher.cpp Everywhere: Remove unused includes of AK/Memory.h 2023-01-02 20:27:20 -05:00
InodeWatcher.h
Mount.cpp Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
Mount.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
OpenFileDescription.cpp Kernel: Use AK::Stream to write packed binary data 2023-02-08 18:50:31 +00:00
OpenFileDescription.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00
UnveilNode.h
VirtualFileSystem.cpp Kernel: Allow to remove files from sticky directory if user owns it 2023-01-24 20:13:30 +00:00
VirtualFileSystem.h Kernel: Turn lock ranks into template parameters 2023-01-02 18:15:27 -05:00