Looks like reverting 281ae0b, which introduces taking an extra lock in WaitableEvent::signal() in the CVDisplayLink callback, resolves the issue. That commit message says it fixes a deadlock (the forum thread for more details) so I guess a more complex fix than just reverting is needed; however, taking the extra lock inside the CVDisplayLink callback appears to be problematic.
2 Likes
