mirror of
https://github.com/RGBCube/serenity
synced 2026-01-12 22:50:59 +00:00
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. |
||
|---|---|---|
| .. | ||
| Subsystems | ||
| Component.cpp | ||
| Component.h | ||
| DirectoryInode.cpp | ||
| DirectoryInode.h | ||
| FileSystem.cpp | ||
| FileSystem.h | ||
| Inode.cpp | ||
| Inode.h | ||
| LinkInode.cpp | ||
| LinkInode.h | ||
| Registry.cpp | ||
| Registry.h | ||
| RootDirectory.cpp | ||
| RootDirectory.h | ||