diff options
author | Ac_K <Acoustik666@gmail.com> | 2019-06-27 14:05:30 +0200 |
---|---|---|
committer | Thomas Guillemard <me@thog.eu> | 2019-06-27 14:05:30 +0200 |
commit | 36f62cbe72d16c94f0c87fa1712ffff314ab080a (patch) | |
tree | 94ca51fc21bb640a03b68e783a2396a2b8e2d022 /Ryujinx.HLE/HOS/ProgramLoader.cs | |
parent | db21621bb681ee6d85f81fd04d7ea286b0742ca7 (diff) |
friends: INotificationService Implementation of GetEvent (#710)
* friends: INotificationService Implementation of GetEvent
According to the RE, the event isn't signaled when handle is returned.
```C
long nn::friends::detail::service::NotificationService::GetEvent(long this, uint *output_handle)
{
long inner_struct_event;
int result;
if (this->event_created)
{
inner_struct_event = &this->event_object;
}
else
{
inner_struct_event = &this->event_object;
result = CreateEvent(&this->event_object, 0, 1);
if ( result )
{
Assert();
}
this->event_created = true;
}
uint event_handle = nn::os::detail::DetachReadableHandleOfInterProcessEvent(inner_struct_event);
*output_handle = event_handle;
int unknown = *((char *)output_handle + 4);
*((char *)output_handle + 4) = 1;
if (unknown)
{
CloseHandle(*output_handle);
}
return 0LL;
}
```
Co-Authored-By: Thomas Guillemard <me@thog.eu>
Diffstat (limited to 'Ryujinx.HLE/HOS/ProgramLoader.cs')
0 files changed, 0 insertions, 0 deletions