diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-06-27 16:59:57 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-06-27 16:25:18 +0000 |
commit | 9050ce4ff569de97dbcdc837044d0cc3f7e01e6f (patch) | |
tree | 0b452871bc9f5bafb86889b4b68ff9cc878188f6 /mkspecs | |
parent | 4d73ab73c81fff83e4423f0d3c918781587f14bf (diff) |
macOS: Guard non-reentrant uses of NSOpenGLContext
NSOpenGLContext should be re-entrant, but is not in practice, resulting
in deadlocks when there are two render threads, eg:
thread #23, name = 'QSGRenderThread'
frame #0: 0x00007fff5c6dda4e libsystem_kernel.dylib`__psynch_mutexwait + 10
frame #1: 0x00007fff5c8a5b9d libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83
frame #2: 0x00007fff5c8a34c8 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253
frame #3: 0x00007fff31ebb52e AppKit`flush_notify + 110
frame #4: 0x00007fff3e75ee2a GLEngine`glSwap_Exec + 186
frame #5: 0x00007fff3e740797 OpenGL`CGLFlushDrawable + 59
frame #6: 0x00007fff31ad43ac AppKit`-[NSOpenGLContext flushBuffer] + 27
...
Task-number: QTBUG-69040
Change-Id: I6f28b4cc5faf61ae93f66353ce2abdf8c223d994
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'mkspecs')
0 files changed, 0 insertions, 0 deletions