Archived
1
0
This repository has been archived on 2024-03-23. You can view files and clone it, but cannot push or open issues or pull requests.
citra/src/common
yzct12345 3641b9891d logging: Simplify and make thread-safe
This simplifies the logging system.

This also fixes some lost messages on startup.

The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.

With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2023-06-30 12:15:51 +03:00
..
aarch64 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
dynamic_library renderer_vulkan: Add vulkan initialization code (#6620) 2023-06-20 15:24:24 +03:00
logging logging: Simplify and make thread-safe 2023-06-30 12:15:51 +03:00
serialization Fix memory region serialization (OSK crash) 2020-04-10 16:51:01 +01:00
x64 build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
alignment.h common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
android_storage.cpp Various miscelaneous changes (#6496) 2023-05-03 17:24:10 +02:00
android_storage.h citra_android: Storage Access Framework implementation (#6313) 2023-03-23 14:30:52 +01:00
announce_multiplayer_room.h core, web_service: Check for error when registering rooms 2019-04-20 12:50:14 +08:00
apple_authorization.cpp common: Add C++ version of Apple authorization logic. (#6616) 2023-06-19 15:50:26 -07:00
apple_authorization.h common: Add C++ version of Apple authorization logic. (#6616) 2023-06-19 15:50:26 -07:00
arch.h build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
archives.h Code review actions (plus hopefully fix the linux CI) 2020-03-31 17:54:28 +01:00
assert.h Chore: Enable warnings as errors on MSVC (#6456) 2023-05-01 22:38:58 +03:00
atomic_ops.h Core: Port Exclusive memory impl from yuzu 2022-10-23 13:19:33 +05:30
bit_field.h Various miscelaneous changes (#6496) 2023-05-03 17:24:10 +02:00
bit_set.h Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
cityhash.cpp Prefix all size_t with std:: 2018-09-06 16:03:28 -04:00
cityhash.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
CMakeLists.txt common: logging: Restructure backend code 2023-06-30 12:15:51 +03:00
color.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
common_funcs.h Chore: Enable warnings as errors on MSVC (#6456) 2023-05-01 22:38:58 +03:00
common_paths.h qt: Add support for building for iOS. (#6594) 2023-06-07 20:40:53 -07:00
common_precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
common_types.h Core: Port Exclusive memory impl from yuzu 2022-10-23 13:19:33 +05:30
construct.h Code review - general gardening 2020-03-29 16:14:36 +01:00
detached_tasks.cpp Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
detached_tasks.h Review comments - part 5 2018-10-20 10:35:55 -04:00
error.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
error.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
file_util.cpp android + common: fix warnings 2023-06-17 21:24:20 +05:30
file_util.h Various miscelaneous changes (#6496) 2023-05-03 17:24:10 +02:00
hash.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
linear_disk_cache.h added std::vector<V> instead of V* (#5902) 2021-12-18 12:01:09 +05:30
literals.h Address review comments 2022-11-15 11:20:35 +01:00
math_util.h Rasterizer cache refactor (#6375) 2023-04-21 10:14:55 +03:00
memory_detect.cpp Address review comments 2022-11-15 11:20:35 +01:00
memory_detect.h Address review comments 2022-11-15 11:20:35 +01:00
memory_ref.cpp Added copyright notices on new files 2020-03-28 15:21:10 +00:00
memory_ref.h Chore: Enable warnings as errors on MSVC (#6456) 2023-05-01 22:38:58 +03:00
microprofile.cpp Integrate the MicroProfile profiling library 2015-08-24 22:16:28 -03:00
microprofile.h code: Cleanup and warning fixes from the Vulkan PR (#6163) 2022-11-04 23:32:57 +01:00
microprofileui.h Common: Remove section measurement from profiler (#1731) 2016-04-29 00:07:10 -07:00
misc.cpp android + common: fix warnings 2023-06-17 21:24:20 +05:30
param_package.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
param_package.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
polyfill_thread.h chore: Fix some compiler warnings. (#6578) 2023-05-30 12:36:12 -07:00
precompiled_headers.h Port yuzu-emu/yuzu#9300: "CMake: Use precompiled headers to improve compile times" (#6213) 2022-12-17 16:06:38 +01:00
quaternion.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
ring_buffer.h gcc 11 compatibility fix (suggestion) (#5778) 2021-05-10 22:10:29 -05:00
scm_rev.cpp.in Add shader cache version generation 2020-01-15 19:58:33 -07:00
scm_rev.h Add shader cache version generation 2020-01-15 19:58:33 -07:00
scope_exit.h common/scope_exit: Replace std::move with std::forward in ScopeExit() 2019-04-15 17:55:44 +02:00
settings.cpp video_core: Add MMPX texture filter (#6564) 2023-05-31 11:55:46 +03:00
settings.h frontend: Added Hybrid Screen screen layout option (#4542) (#6600) 2023-06-29 01:42:57 +03:00
slot_vector.h Rasterizer cache refactor v2 (#6479) 2023-05-07 02:34:28 +03:00
string_literal.h common: Add StringLiteral 2022-11-22 22:52:37 +00:00
string_util.cpp Merge pull request #6602 from SachinVin/wall 2023-06-18 22:37:39 +05:30
string_util.h Chore: Enable warnings as errors on MSVC (#6456) 2023-05-01 22:38:58 +03:00
swap.h general: Fix various spelling errors 2021-01-03 02:39:41 +01:00
telemetry.cpp build: Update to support multi-arch builds. 2023-01-07 01:09:32 -08:00
telemetry.h common/telemetry: Migrate namespace into the Common namespace 2021-01-04 05:17:13 +01:00
texture.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
texture.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread_queue_list.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
thread_worker.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread.cpp Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
thread.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
threadsafe_queue.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00
timer.cpp common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
timer.h common: Resolve C4267 warning on MSVC 2022-05-18 00:05:40 -04:00
unique_function.h Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
vector_math.h src/CMakeLists: Enforce multiple warnings on MSVC (#5692) 2022-11-09 23:14:28 +01:00
web_result.h Put WebResult into a seperate file 2018-10-27 00:39:02 +02:00
zstd_compression.cpp Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
zstd_compression.h Port yuzu-emu/yuzu#4528: "common: Make use of [[nodiscard]] where applicable" (#5535) 2020-08-31 21:06:16 +02:00