1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00
serenity/Userland/Libraries/LibCore
kleines Filmröllchen df6b9cdb0c LibCore+LibC: Enforce the global event loop ban in code
It's a bad idea to have a global event loop in a client application as
that will cause an initialization-order fiasco in ASAN. Therefore, LibC
now has a flag "s_global_initializers_ran" which is false until _entry
in crt0 runs, which in turn only gets called after all the global
initializers were actually executed. The EventLoop constructor checks
the flag and crashes the program if it is being called as a global
constructor. A note next to the VERIFY_NOT_REACHED() informs the
developer of these things and how we usually instantiate event loops.

The upshot of this is that global event loops will cause a crash before
any undefined behavior is hit.
2022-01-23 15:21:10 +01:00
..
Account.cpp LibCore: Mark 'Read options' parameter [[maybe_unused]] in Account.cpp 2022-01-02 22:02:16 +01:00
Account.h LibCore+id: Make more use of Core::System wrappers in Core::Account 2022-01-02 18:08:02 +01:00
AnonymousBuffer.cpp AK: Bring AK::Error into the global namespace 2021-11-08 00:35:27 +01:00
AnonymousBuffer.h LibIPC+IPCCompiler+AK: Make IPC value decoders return ErrorOr<void> 2021-11-28 23:14:19 +01:00
ArgsParser.cpp LibCore: Add ArgsParser::add_option for Optional double 2022-01-21 01:52:22 +01:00
ArgsParser.h LibCore: Add ArgsParser::add_option for Optional double 2022-01-21 01:52:22 +01:00
CMakeLists.txt LibCore: Add Core::Group abstraction for group management :^) 2022-01-16 11:19:07 +01:00
Command.cpp LibCore: Make Core::command return CommandResult struct 2022-01-12 14:55:19 +01:00
Command.h LibCore: Make Core::command return CommandResult struct 2022-01-12 14:55:19 +01:00
ConfigFile.cpp LibCore: Handle null lines in ConfigFile 2022-01-21 13:44:36 +01:00
ConfigFile.h Everywhere: Rename get in ConfigFile::get_for_{lib,app,system} to open 2021-08-22 01:32:25 +02:00
DateTime.cpp LibCore: Make DateTime's members signed 2021-08-19 19:15:00 +01:00
DateTime.h LibIPC+IPCCompiler+AK: Make IPC value decoders return ErrorOr<void> 2021-11-28 23:14:19 +01:00
DeferredInvocationContext.h LibCore+Userland: Implement Core::deferred_invoke 2021-09-02 03:47:47 +04:30
DirIterator.cpp Userland: Fail Core::find_executable_in_path on empty inputs 2022-01-04 07:38:42 +00:00
DirIterator.h LibCore: Allow moving, but not copying, DirIterator 2021-11-23 22:58:05 +01:00
ElapsedTimer.cpp LibCore: Add ElapsedTimer::reset() 2021-10-28 11:21:18 +02:00
ElapsedTimer.h LibCore: Add ElapsedTimer::reset() 2021-10-28 11:21:18 +02:00
Event.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Event.h LibCore+Userland: Implement Core::deferred_invoke 2021-09-02 03:47:47 +04:30
EventLoop.cpp LibCore+LibC: Enforce the global event loop ban in code 2022-01-23 15:21:10 +01:00
EventLoop.h LibCore: Create wake pipe on each thread 2022-01-23 15:21:10 +01:00
File.cpp Everywhere: Move shared library checks into a common function 2021-11-10 14:42:49 +01:00
File.h Everywhere: Move shared library checks into a common function 2021-11-10 14:42:49 +01:00
FilePermissionsMask.cpp LibCore: Parse classless symbolic notation 2022-01-21 22:10:23 +01:00
FilePermissionsMask.h LibCore: Add FilePermissionsMask 2022-01-01 17:33:43 +00:00
FileStream.h LibCore: Use ErrorOr<T> for Core::File::open() 2021-11-08 00:35:27 +01:00
FileWatcher.cpp LibCore: Replace Result<T, E> use with ErrorOr<T> in Core::FileWatcher 2021-11-08 00:35:27 +01:00
FileWatcher.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Forward.h LibCore+Userland: Implement Core::deferred_invoke 2021-09-02 03:47:47 +04:30
GetPassword.cpp LibCore: Use LibCore syscall wrappers in get_password() 2021-11-30 23:34:40 +01:00
GetPassword.h LibCore: Use ErrorOr<T> for Core::get_password() 2021-11-08 00:35:27 +01:00
Group.cpp LibCore: Do not leak FILE pointer in Group::add_group() 2022-01-21 18:34:24 +01:00
Group.h LibCore: Use generic AK_OS_BSD_GENERIC to hide Group::add_group() 2022-01-21 18:34:24 +01:00
InputBitStream.h LibCore: Introduce BigEndianInputBitStream 2022-01-22 01:13:42 +03:30
IODevice.cpp LibCore: Add support for range-based for loops on LineIterators 2021-12-12 14:06:38 +03:30
IODevice.h LibCore: Add support for range-based for loops on LineIterators 2021-12-12 14:06:38 +03:30
LocalServer.cpp LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
LocalServer.h LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
LocalSocket.cpp LibCore: Add OpenBSD headers to System and LocalSocket 2021-12-29 03:46:56 -08:00
LocalSocket.h LibCore: Make LocalSocket takeover mechanism return ErrorOr<T> 2021-11-23 11:33:36 +01:00
LockFile.cpp Everywhere: Use my cool new @serenityos.org email address 2021-09-01 11:37:25 +04:30
LockFile.h Everywhere: Use my cool new @serenityos.org email address 2021-09-01 11:37:25 +04:30
MappedFile.cpp LibCore: Use open() wrapper in Core::MappedFile :^) 2021-11-23 12:23:54 +01:00
MappedFile.h LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
MemoryStream.h LibCore: Introduce MemoryStream 2022-01-22 01:13:42 +03:30
MimeData.cpp LibCore: Add support for the image/x-qoi mime type 2021-12-21 13:27:27 +01:00
MimeData.h LibCore: Avoid implicitly copying ByteBuffer 2021-12-08 09:46:13 -08:00
NetworkJob.cpp LibHTTP+AK: Rename CNETWORKJOB_DEBUG to NETWORKJOB_DEBUG 2022-01-23 00:45:22 +00:00
NetworkJob.h LibHTTP: Respect the 'Connection: close' header on keep-alive jobs 2021-09-30 11:46:37 +02:00
NetworkResponse.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NetworkResponse.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Notifier.cpp LibCore: Remove unused header includes 2021-08-01 08:10:16 +02:00
Notifier.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Object.cpp LibCore: Add Core::Object::try_add<T>(...) 2021-11-24 13:52:01 +01:00
Object.h LibCore: Add Core::Object::try_add<T>(...) 2021-11-24 13:52:01 +01:00
Process.cpp LibCore: Explicitly declare environ in Process.cpp to unbreak macOS 2021-08-06 01:29:09 +02:00
Process.h LibCore: Add Core::Process::spawn() 2021-08-06 01:04:11 +02:00
ProcessStatisticsReader.cpp AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional) 2021-11-17 00:21:10 +01:00
ProcessStatisticsReader.h Everywhere: Make tracking cpu usage independent from system ticks 2021-07-18 22:08:26 +02:00
Promise.h Libraries: Fix visibility of Object-derivative constructors 2021-11-02 22:56:53 +01:00
Property.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Property.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SecretString.cpp LibCore: Avoid buffer overrun when invoking crypt() with a SecretString 2021-10-19 18:19:33 +02:00
SecretString.h LibCore: Add SecretString, a buffer that is zero'd on destruction 2021-09-12 16:36:52 +02:00
Socket.cpp LibCore: Add a Socket::set_idle() API that turns the notifiers on/off 2021-10-04 15:31:26 +02:00
Socket.h LibCore: Add a Socket::set_idle() API that turns the notifiers on/off 2021-10-04 15:31:26 +02:00
SocketAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
StandardPaths.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StandardPaths.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Stream.cpp LibCore: Make sockets close-on-exec by default 2022-01-21 15:21:52 +01:00
Stream.h LibCore: Populate the read buffer of Core::Stream::BufferedHelper 2022-01-22 01:13:42 +03:30
System.cpp LibCore: Print the actual errno if sysbeep failed 2022-01-23 00:40:54 +00:00
System.h LibCore: Add syscall wrapper for umount() 2022-01-22 13:31:52 +02:00
TCPServer.cpp LibCore+Userland+Tests: Convert Stream APIs to construct on heap 2022-01-13 15:16:12 +03:30
TCPServer.h LibCore+Userland+Tests: Convert Stream APIs to construct on heap 2022-01-13 15:16:12 +03:30
TCPSocket.cpp LibCore+Everywhere: Move OpenMode out of IODevice 2021-05-12 11:00:45 +01:00
TCPSocket.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TempFile.cpp LibCore: Add utility class for temporary files and directories 2022-01-12 14:55:19 +01:00
TempFile.h LibCore: Add utility class for temporary files and directories 2022-01-12 14:55:19 +01:00
Timer.cpp LibCore: Add Core::Timer::set_active(bool) 2021-12-25 14:20:13 +01:00
Timer.h LibCore: Add Core::Timer::set_active(bool) 2021-12-25 14:20:13 +01:00
UDPServer.cpp LibCore+LookupServer: Implement and use UDPServer::send 2021-12-16 22:21:35 +03:30
UDPServer.h LibCore+LookupServer: Implement and use UDPServer::send 2021-12-16 22:21:35 +03:30
UDPSocket.cpp LibCore+Everywhere: Move OpenMode out of IODevice 2021-05-12 11:00:45 +01:00
UDPSocket.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
UmaskScope.h LibCore: Add Core::UmaskScope to set and unset a temporary umask 2022-01-02 18:08:02 +01:00
Version.cpp LibCore: Refactor a version-reading utility 2021-09-02 16:17:18 +01:00
Version.h LibCore: Refactor a version-reading utility 2021-09-02 16:17:18 +01:00