diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-06-16 11:43:41 -0400 |
|---|---|---|
| committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-07-05 15:49:28 -0400 |
| commit | b6844bec608ed82511738e9f3911e72aeb05243a (patch) | |
| tree | 4a06bdb82d2cbceedee70ac41725c7354d1ec723 /src/core/hle/service/nvdrv/nvdrv.cpp | |
| parent | 7d1b974bcaf72c32910dcf4ff2d435f91cf40609 (diff) | |
NVServices: Correct CtrlEventWaitSync to block the ipc until timeout.
Diffstat (limited to 'src/core/hle/service/nvdrv/nvdrv.cpp')
| -rw-r--r-- | src/core/hle/service/nvdrv/nvdrv.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp index b87c228bd..598a1123b 100644 --- a/src/core/hle/service/nvdrv/nvdrv.cpp +++ b/src/core/hle/service/nvdrv/nvdrv.cpp @@ -71,12 +71,13 @@ u32 Module::Open(const std::string& device_name) { return fd; } -u32 Module::Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output) { +u32 Module::Ioctl(u32 fd, u32 command, const std::vector<u8>& input, std::vector<u8>& output, + IoctlCtrl& ctrl) { auto itr = open_files.find(fd); ASSERT_MSG(itr != open_files.end(), "Tried to talk to an invalid device"); auto& device = itr->second; - return device->ioctl({command}, input, output); + return device->ioctl({command}, input, output, ctrl); } ResultCode Module::Close(u32 fd) { @@ -103,4 +104,8 @@ Kernel::SharedPtr<Kernel::ReadableEvent> Module::GetEvent(const u32 event_id) { return events_interface.events[event_id].readable; } +Kernel::SharedPtr<Kernel::WritableEvent> Module::GetEventWriteable(const u32 event_id) { + return events_interface.events[event_id].writable; +} + } // namespace Service::Nvidia |
