diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 17:22:54 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 17:22:54 -0400 |
| commit | c777b4fe471ae3341eea3adf722cd17a64322f49 (patch) | |
| tree | e645e77584bbfd2aae587e116da6eb9f126e651d /src/video_core/texture_cache | |
| parent | ef02d7e98816b0fb2b229b44632cde64ccf130c7 (diff) | |
nx2 services: callbacks no longer outlive their sessions
Under cdb title 1 reported "Free Heap block modified after it was freed"
when it recreated its display session (~4 min in); a run without the
debugger crashed at 113 s. The vi2 vsync timer callback (HostTiming thread)
captured the session and signalled its events; the destructor unscheduled
the timer (which does not wait for a running callback) and closed the
events. The syncpt slot actions (GPU thread) had the same race with
CloseEvent, as did the frame-capture and dump callbacks.
vsync events now live in state shared with the callback and are emptied
under its lock before closing; syncpt actions check a shared "alive" flag
under a mutex the destructor takes; capture/dump callbacks hold no session
pointers.
Diffstat (limited to 'src/video_core/texture_cache')
0 files changed, 0 insertions, 0 deletions
