diff options
| author | JMC47 <JMC4789@gmail.com> | 2022-06-27 21:39:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-27 21:39:36 -0400 |
| commit | e50e45f400856191eafb5f0c6044a8efbf152321 (patch) | |
| tree | dd7f504d2f6787e832d0afdaf5e5b1d1a27b488f /Source/Core/Common/Network.cpp | |
| parent | e8965c63e41871538a97630bfdd628119fec6aca (diff) | |
| parent | d7135daff5d3c6aab91b4600875d234dff367f82 (diff) | |
Merge pull request #10700 from sepalani/ssl-handshake
Socket: Fix some non-blocking connect edge cases
Diffstat (limited to 'Source/Core/Common/Network.cpp')
| -rw-r--r-- | Source/Core/Common/Network.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/Core/Common/Network.cpp b/Source/Core/Common/Network.cpp index 2c548347a3..faa2a33c05 100644 --- a/Source/Core/Common/Network.cpp +++ b/Source/Core/Common/Network.cpp @@ -186,4 +186,22 @@ u16 ComputeNetworkChecksum(const void* data, u16 length, u32 initial_value) checksum = (checksum >> 16) + (checksum & 0xFFFF); return ~static_cast<u16>(checksum); } + +NetworkErrorState SaveNetworkErrorState() +{ + return { + errno, +#ifdef _WIN32 + WSAGetLastError(), +#endif + }; +} + +void RestoreNetworkErrorState(const NetworkErrorState& state) +{ + errno = state.error; +#ifdef _WIN32 + WSASetLastError(state.wsa_error); +#endif +} } // namespace Common |
