yuzu/src/common
comex 2910aa77b2 [network] Error handling reform
`network.cpp` has several error paths which either:
- report "Unhandled host socket error=n" and return `SUCCESS`, or
- switch on a few possible errors, log them, and translate them to
  Errno; the same switch statement is copied and pasted in multiple
  places in the code

Convert these paths to use a helper function `GetAndLogLastError`, which
is roughly the equivalent of one of the switch statements, but:
- handling more cases (both ones that were already in `Errno`, and a few
  more I added), and
- using OS functions to convert the error to a string when logging, so
  it'll describe the error even if it's not one of the ones in the
  switch statement.
  - To handle this, refactor the logic in `GetLastErrorMsg` to expose a
    new function `NativeErrorToString` which takes the error number
    explicitly as an argument.  And improve the Windows version a bit.

Also, add a test which exercises two random error paths.
2021-02-28 17:25:31 -05:00
..
logging Address review comments 2021-01-04 04:36:50 +01:00
x64 common: Merge uint128 to a single header file with inlines. 2021-02-15 14:46:04 -08:00
CMakeLists.txt common: Add implementation of TinyMT (Mersenne Twister RNG). 2021-02-18 16:16:24 -08:00
algorithm.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
alignment.h common: alignment: Add DivideUp utility method. 2021-02-18 16:16:24 -08:00
assert.h common/assert: Make use of C++ attribute syntax 2020-08-24 04:15:10 -04:00
atomic_ops.h X86/NativeClock: Reimplement RTDSC access to be lock free. 2021-01-02 04:00:27 +01:00
bit_cast.h common/bit_cast: Add function matching std::bit_cast without constexpr 2020-11-20 01:52:37 -03:00
bit_field.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
bit_set.h common: BitSet: Various style fixes based on code review feedback. 2020-12-06 00:27:13 -08:00
bit_util.h common: Add missing include to bit_util.h 2021-01-21 15:30:28 -08:00
cityhash.cpp common/cityhash: Use common types 2021-02-18 00:45:17 -03:00
cityhash.h common: add missing header after f3805376f7 2021-02-23 00:04:32 +00:00
common_funcs.h [network] Error handling reform 2021-02-28 17:25:31 -05:00
common_paths.h common: Add a screenshots directory 2020-07-20 22:51:02 -04:00
common_types.h gpu: Move GPUVAddr definition to common_types. 2019-03-20 22:36:02 -04:00
concepts.h k_priority_queue: Fix concepts use 2020-12-29 14:33:41 -05:00
detached_tasks.cpp General: Tidy up clang-format warnings part 2 2020-08-13 14:19:08 -04:00
detached_tasks.h Review comments - part 5 2018-10-02 16:04:10 +02:00
div_ceil.h common/div_ceil: Return numerator type 2021-01-09 03:16:10 -03:00
dynamic_library.cpp common: Silence two discarded result warnings 2020-08-16 06:17:33 -04:00
dynamic_library.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
fiber.cpp common: fiber: Use VirtualBuffer for stack memory. 2020-11-29 01:31:52 -08:00
fiber.h common: fiber: Use boost::context instead of native fibers on Windows. 2020-11-29 01:31:51 -08:00
file_util.cpp Revert "Merge pull request #5173 from lioncash/common-fs" 2020-12-11 20:24:22 -05:00
file_util.h Revert "Merge pull request #5173 from lioncash/common-fs" 2020-12-11 20:24:22 -05:00
hash.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
hex_util.cpp partition_data_manager: Make data arrays constexpr 2020-08-06 02:41:58 -04:00
hex_util.h core/CMakeLists: Make some warnings errors 2020-10-13 13:16:49 -04:00
intrusive_red_black_tree.h common/tree: Convert defines over to templates 2021-01-12 16:46:36 -05:00
lz4_compression.cpp common/compression: Roll back std::span changes 2020-08-15 17:17:56 -04:00
lz4_compression.h common/compression: Roll back std::span changes 2020-08-15 17:17:56 -04:00
math_util.h core: Fix clang build pt.3 2020-10-21 22:14:23 -04:00
memory_detect.cpp common: switch to nullptr for sysctl's empty new value 2020-06-30 23:00:18 +00:00
memory_detect.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
microprofile.cpp Integrate the MicroProfile profiling library 2015-08-24 22:16:28 -03:00
microprofile.h Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
microprofileui.h Common: Remove section measurement from profiler (#1731) 2016-04-29 00:07:10 -07:00
misc.cpp [network] Error handling reform 2021-02-28 17:25:31 -05:00
nvidia_flags.cpp renderer_opengl: Avoid precompiled cache and force NV GL cache directory 2021-01-21 00:41:03 -03:00
nvidia_flags.h renderer_opengl: Avoid precompiled cache and force NV GL cache directory 2021-01-21 00:41:03 -03:00
page_table.cpp core/memory: Read and write page table atomically 2020-12-29 21:54:49 -03:00
page_table.h general: Fix various spelling errors 2021-01-02 10:23:41 -05:00
param_package.cpp citra_qt/configuration: misc input tab improvements 2018-10-06 15:43:49 +02:00
param_package.h Project Mjölnir: Part 1 2020-08-26 02:32:32 -04:00
parent_of_member.h common/parent_of_member: Replace TYPED_STORAGE define with template alias 2021-01-11 18:26:04 -05:00
quaternion.h Implement a basic class for motion devices 2020-08-27 17:19:21 -05:00
ring_buffer.h ring_buffer: Remove granularity template argument 2021-02-06 19:16:00 +00:00
scm_rev.cpp.in common: Add additional SCM revision fields 2019-10-05 00:09:49 -04:00
scm_rev.h common: Add additional SCM revision fields 2019-10-05 00:09:49 -04:00
scope_exit.h common: scope_exit: Add a cancellable ScopeExit macro. 2021-02-05 14:03:36 -08:00
spin_lock.cpp Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
spin_lock.h General: Fix clang build 2020-11-05 10:07:16 -05:00
stream.cpp video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
stream.h common/stream: Be explicit with copy and move operators 2020-10-29 22:57:35 -04:00
string_util.cpp string_util: Remove MSVC workaround for converting between UTF8/UTF16 2021-02-08 02:56:07 -05:00
string_util.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
swap.h general: Fix various spelling errors 2021-01-02 10:23:41 -05:00
telemetry.cpp common/telemetry: Migrate namespace into the Common namespace 2020-08-18 15:08:32 -04:00
telemetry.h video_core: Resolve more variable shadowing scenarios pt.3 2020-12-05 16:02:23 -05:00
thread.cpp Fix thread naming on Linux, which limits names to 15 bytes. 2020-08-05 20:34:49 -07:00
thread.h common/thread: Fix data race in is_set 2020-08-26 02:50:51 +00:00
thread_queue_list.h Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
thread_worker.cpp common: ThreadWorker: Add class to help do asynchronous work. 2020-12-29 16:46:29 -08:00
thread_worker.h common: ThreadWorker: Add class to help do asynchronous work. 2020-12-29 16:46:29 -08:00
threadsafe_queue.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
time_zone.cpp Revert "common/time_zone: Simplify GetOsTimeZoneOffset()" 2020-08-19 18:27:31 -04:00
time_zone.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
tiny_mt.h common: Add implementation of TinyMT (Mersenne Twister RNG). 2021-02-18 16:16:24 -08:00
tree.h common/tree: Convert defines over to templates 2021-01-12 16:46:36 -05:00
uint128.h common: wall_clock: Fix integer overflow with StandardWallClock. 2021-02-19 18:04:23 -08:00
uuid.cpp mii_manager: Cleanup and optimization 2019-04-25 08:07:57 -04:00
uuid.h core: Silence Wclass-memaccess warnings 2021-01-15 16:31:19 -03:00
vector_math.h input_common/CMakeLists: Make some warnings errors 2020-10-15 19:37:51 -04:00
virtual_buffer.cpp page_table: Allow page tables to be moved 2020-11-17 20:08:20 -05:00
virtual_buffer.h core/memory: Read and write page table atomically 2020-12-29 21:54:49 -03:00
wall_clock.cpp common: wall_clock: Fix integer overflow with StandardWallClock. 2021-02-19 18:04:23 -08:00
wall_clock.h audio_core: Make shadowing and unused parameters errors 2020-12-03 00:54:31 -05:00
zstd_compression.cpp common/compression: Roll back std::span changes 2020-08-15 17:17:56 -04:00
zstd_compression.h common/compression: Roll back std::span changes 2020-08-15 17:17:56 -04:00