Files
UnrealEngineUWP/Engine/Source/Runtime/Core/Private/ProfilingDebugging
Andriy Tylychko 31c369c3bf Two related parts:
1) TlsAutoCleanup: in the previous version `FTlsAutoCleanup` used `FRunnableThread` to store registered instances and to delete them on `FRunnableThread` destruction. This means that all threads that are not created by `FRunnableThread` (the game thread in particular, and all 3rd-party threads) never delete registered `FTlsAutoCleanup` instances. This change moves the storage from `FRunnableThread` to TLS to cover all threads

Thsi change can break systems that implemented a workaround for this problem, e.g. by manually deleting registered `FTlsAutoCleanup` instances on the game thread exit, as now this instances will be deleted twice. The solution is to remove the workaround and to rely on uniform `FTlsAutoCleanup` behaviour on all threads.

#rb steve.robb

2) removed CpuProfilerTrace workaround to handle the fact that FTlsAutoCleanup leaks on the game thread, as this is fixed by (1).

#rb martin.ridgers

Need to submit both parts together as they need each other

#robomerge Release-5.0-EarlyAccess

[CL 15624597 by Andriy Tylychko in ue5-main branch]
2021-03-05 11:29:40 -04:00
..
2021-03-05 11:29:40 -04:00
2020-10-28 15:03:04 -04:00
2021-03-03 15:22:22 -04:00