1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 23:37:43 +00:00
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 Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
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 Kernel: Update the ".." inode for directories after a rename 2022-11-25 17:33:05 +01:00
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 Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
AnonymousFile.h Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
BlockBasedFileSystem.cpp Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
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 Everywhere: Prefix 'TYPEDEF_DISTINCT_ORDERED_ID' with 'AK_' 2022-07-22 23:09:43 +01:00
FIFO.cpp Kernel: Add support for MSG_NOSIGNAL and properly send SIGPIPE 2022-10-24 15:49:39 +02:00
FIFO.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
File.cpp Kernel: Simplify the File memory-mapping API 2022-08-24 14:57:51 +02:00
File.h Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +01:00
FileBackedFileSystem.cpp Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileBackedFileSystem.h Kernel: Introduce support for using FileSystem object in multiple mounts 2022-10-22 16:57:52 -04:00
FileSystem.cpp Kernel/FileSystem: Discard safely filesystems when unmounted last time 2022-10-22 16:57:52 -04:00
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 Kernel: Add File::is_regular_file() 2022-11-29 11:09:19 +01:00
InodeIdentifier.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
InodeMetadata.cpp Kernel: Use real UID/GID when checking for file access 2022-12-11 19:55:37 -07:00
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 Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
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 AK+Kernel: Specialize Trie for NNOP<KString> and use it in UnveilNode 2022-02-16 22:21:37 +01:00
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