summaryrefslogtreecommitdiff
path: root/indra/cmake/windows-rcs.html
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2021-11-08 15:15:56 -0500
committerNat Goodspeed <nat@lindenlab.com>2021-11-08 15:15:56 -0500
commit08336bb469b8db41809893a2ed26599777383eed (patch)
treefc8062d302358708d44a9fca546021b789167826 /indra/cmake/windows-rcs.html
parentc7af4921db7f62005f3f668ca7fca45d01d80781 (diff)
SL-16094: Zap thread safety land mine; thin PostMessage() calls.
LLWindowWin32::mWndProc was a public WNDPROC member. If set non-NULL, mainWindowProc() would call that before falling into its own handler code. But now, mWndProc would be called on the window thread instead of on the main thread. Running arbitrary callback code on the window thread could cause all sorts of problems. It could be made safe by posting the callback call to the "mainloop" WorkQueue for execution on the main thread. But as no code actually references it, delete it instead. Per DaveP, the recent change to LLWindowsWin32Thread::post() could end up calling PostMessage() many times per frame, with nontrivial overhead. Reinstate the more selective code that calls PostMessage() with the dummy message (to bust us out of GetMessage() to check pending window-thread work requests) at most once per frame.
Diffstat (limited to 'indra/cmake/windows-rcs.html')
0 files changed, 0 insertions, 0 deletions