forked from etc/pineapple-src
early-access version 2848
This commit is contained in:
parent
33740a38f6
commit
7f0f474f3b
2 changed files with 20 additions and 2 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 2847.
|
This is the source code for early-access 2848.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -720,7 +720,25 @@ std::pair<s32, Errno> BSD::RecvImpl(s32 fd, u32 flags, std::vector<u8>& message)
|
||||||
if (!IsFileDescriptorValid(fd)) {
|
if (!IsFileDescriptorValid(fd)) {
|
||||||
return {-1, Errno::BADF};
|
return {-1, Errno::BADF};
|
||||||
}
|
}
|
||||||
return Translate(file_descriptors[fd]->socket->Recv(flags, message));
|
|
||||||
|
FileDescriptor& descriptor = *file_descriptors[fd];
|
||||||
|
|
||||||
|
// Apply flags
|
||||||
|
if ((flags & FLAG_MSG_DONTWAIT) != 0) {
|
||||||
|
flags &= ~FLAG_MSG_DONTWAIT;
|
||||||
|
if ((descriptor.flags & FLAG_O_NONBLOCK) == 0) {
|
||||||
|
descriptor.socket->SetNonBlock(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto [ret, bsd_errno] = Translate(descriptor.socket->Recv(flags, message));
|
||||||
|
|
||||||
|
// Restore original state
|
||||||
|
if ((descriptor.flags & FLAG_O_NONBLOCK) == 0) {
|
||||||
|
descriptor.socket->SetNonBlock(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {ret, bsd_errno};
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<s32, Errno> BSD::RecvFromImpl(s32 fd, u32 flags, std::vector<u8>& message,
|
std::pair<s32, Errno> BSD::RecvFromImpl(s32 fd, u32 flags, std::vector<u8>& message,
|
||||||
|
|
Loading…
Reference in a new issue