mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-06 06:55:09 +00:00
kevent: fix race on process exit event
This commit is contained in:
parent
d0d22529f9
commit
b0b0226064
3 changed files with 7 additions and 0 deletions
|
|
@ -96,6 +96,11 @@ static SysResult keventChange(KQueue *kq, KEvent &change, Thread *thread) {
|
|||
std::unique_lock lock(process->event.mutex);
|
||||
process->event.notes.insert(&*nodeIt);
|
||||
nodeIt->linked = process;
|
||||
if ((change.fflags & orbis::kNoteExit) != 0 && process->exitStatus.has_value()) {
|
||||
note.event.data = *process->exitStatus;
|
||||
note.triggered = true;
|
||||
kq->cv.notify_all(kq->mtx);
|
||||
}
|
||||
} else if (change.filter == kEvFiltRead ||
|
||||
change.filter == kEvFiltWrite) {
|
||||
auto fd = thread->tproc->fileDescriptors.get(change.ident);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue