You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Ubuntu
committed
fix: set surface event before SetFormat to prevent draw thread deadlock
The previous approach (surfaceEvent.Reset() + return) caused the draw thread
to block on surfaceEvent.Wait(5000) while SetFormat triggered a synchronous
surface teardown. The draw thread never got a valid surface handle and the
native watchdog fired.
New approach: Set surfaceEvent BEFORE calling SetFormat so the draw thread
can proceed with the current (soon-to-be-recreated) surface. The native
watchdog is also ticked before SetFormat to buy time for the synchronous
teardown.
Order: surfaceEvent.Set() → NativeWatchdog.Heartbeat() → holder.SetFormat()
0 commit comments