mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 09:51:57 -05:00
a9839d7ac5
Only do so after a brief check if we are in a Jail or not. This fixes SMP, because apparently it is crashing when calling try_generate() from the SysFSGlobalInformation::refresh_data method, so the fix for this is to simply not do that inside the Process' Jail spinlock scope, because otherwise we will simply have a possible flow of taking multiple conflicting Spinlocks (in the wrong order multiple times), for the SysFSOverallProcesses generation code: Process::current().jail(), and then Process::for_each_in_same_jail being called, we take Process::all_instances(), and Process::current().jail() again. Therefore, we should at the very least eliminate the first taking of the Process::current().jail() spinlock, in the refresh_data method of the SysFSGlobalInformation class. |
||
---|---|---|
.. | ||
DevPtsFS | ||
Ext2FS | ||
FATFS | ||
ISO9660FS | ||
Plan9FS | ||
ProcFS | ||
SysFS | ||
TmpFS | ||
AnonymousFile.cpp | ||
AnonymousFile.h | ||
BlockBasedFileSystem.cpp | ||
BlockBasedFileSystem.h | ||
Custody.cpp | ||
Custody.h | ||
DeviceFileTypes.h | ||
FIFO.cpp | ||
FIFO.h | ||
File.cpp | ||
File.h | ||
FileBackedFileSystem.cpp | ||
FileBackedFileSystem.h | ||
FileSystem.cpp | ||
FileSystem.h | ||
Inode.cpp | ||
Inode.h | ||
InodeFile.cpp | ||
InodeFile.h | ||
InodeIdentifier.h | ||
InodeMetadata.cpp | ||
InodeMetadata.h | ||
InodeWatcher.cpp | ||
InodeWatcher.h | ||
Mount.cpp | ||
Mount.h | ||
OpenFileDescription.cpp | ||
OpenFileDescription.h | ||
UnveilNode.h | ||
VirtualFileSystem.cpp | ||
VirtualFileSystem.h |