1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Avoid multiple possibilites of deadlock in resource loading

This commit is contained in:
Pedro J. Estébanez
2023-05-17 00:00:45 +02:00
parent a8453cb333
commit a6e43f71b6
4 changed files with 198 additions and 61 deletions

View File

@@ -100,10 +100,13 @@
</description>
</method>
<method name="wait_for_task_completion">
<return type="void" />
<return type="int" enum="Error" />
<param index="0" name="task_id" type="int" />
<description>
Pauses the thread that calls this method until the task with the given ID is completed.
Returns [constant @GlobalScope.OK] if the task could be successfully awaited.
Returns [constant @GlobalScope.ERR_INVALID_PARAMETER] if a task with the passed ID does not exist (maybe because it was already awaited and disposed of).
Returns [constant @GlobalScope.ERR_BUSY] if the call is made from another running task and, due to task scheduling, the task to await is at a lower level in the call stack and therefore can't progress. This is an advanced situation that should only matter when some tasks depend on others.
</description>
</method>
</methods>