diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2021-11-08 15:15:56 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2021-11-08 15:15:56 -0500 |
commit | 08336bb469b8db41809893a2ed26599777383eed (patch) | |
tree | fc8062d302358708d44a9fca546021b789167826 /indra/cmake/windows-rcs.html | |
parent | c7af4921db7f62005f3f668ca7fca45d01d80781 (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