mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-12 22:07:58 -05:00
Fixes:
- Add missing virtual destructor on `SSLBackend`. - On Windows, filter out `POLLWRBAND` (one of the new flags added) when calling `WSAPoll`, because despite the constant being defined on Windows, passing it calls `WSAPoll` to yield `EINVAL`. - Reduce OpenSSL version requirement to satisfy CI; I haven't tested whether it actually builds (or runs) against 1.1.1, but if not, I'll figure it out. - Change an instance of memcpy to memmove, even though the arguments cannot overlap, to avoid a [strange GCC error](https://github.com/yuzu-emu/yuzu/pull/10912#issuecomment-1606283351).
This commit is contained in:
@ -97,6 +97,8 @@ bool EnableNonBlock(SOCKET fd, bool enable) {
|
||||
|
||||
Errno TranslateNativeError(int e) {
|
||||
switch (e) {
|
||||
case 0:
|
||||
return Errno::SUCCESS;
|
||||
case WSAEBADF:
|
||||
return Errno::BADF;
|
||||
case WSAEINVAL:
|
||||
@ -421,9 +423,14 @@ short TranslatePollEvents(PollEvents events) {
|
||||
translate(PollEvents::WrBand, POLLWRBAND);
|
||||
|
||||
#ifdef _WIN32
|
||||
if (True(events & PollEvents::Pri)) {
|
||||
LOG_WARNING(Service, "Winsock doesn't support POLLPRI");
|
||||
short allowed_events = POLLRDBAND | POLLRDNORM | POLLWRNORM;
|
||||
// Unlike poll on other OSes, WSAPoll will complain if any other flags are set on input.
|
||||
if (result & ~allowed_events) {
|
||||
LOG_DEBUG(Network,
|
||||
"Removing WSAPoll input events 0x{:x} because Windows doesn't support them",
|
||||
result & ~allowed_events);
|
||||
}
|
||||
result &= allowed_events;
|
||||
#endif
|
||||
|
||||
UNIMPLEMENTED_IF_MSG((u16)events != 0, "Unhandled guest events=0x{:x}", (u16)events);
|
||||
|
Reference in New Issue
Block a user