Navigation
API > API/Runtime > API/Runtime/InterchangeCore > API/Runtime/InterchangeCore/FInterchangeTaskBase
References
| Module | InterchangeCore |
| Header | /Engine/Source/Runtime/Interchange/Core/Public/InterchangeTaskSystem.h |
| Include | #include "InterchangeTaskSystem.h" |
| Source | /Engine/Source/Runtime/Interchange/Core/Private/InterchangeTaskSystem.cpp |
void Wait() const
Remarks
Wait can be call only on game thread. Async thread wait can create dead lock by using all the thread resources.
The caller have some restriction to follow
- This must be a safe place for any game thread task that will be executing during the wait.
- Wait should be call from a engine tick and no lock (like the global UObject locks) should be taken before calling wait.
- Slate ui callback are safe
- Engine tick is safe, use FTSTicker::GetCoreTicker() when you can
- Wait should not happen from a package/asset load call stack
- Wait should not happen from a save package/asset call stack
- Wait should not happen from a garbage collect call stack
If your system need to wait and you already have some locks or you are under a unsafe place you need to redesign your system to move the wait before you get to a unsafe call stack place to wait.