浏览代码

task: fix error awaiting already scheduled task

To reproduce this issue, try `await taskMgr.add(Task.pause(1.0))`
rdb 7 年之前
父节点
当前提交
e64a342a9f
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      panda/src/event/pythonTask.cxx

+ 3 - 1
panda/src/event/pythonTask.cxx

@@ -598,7 +598,9 @@ do_python_task() {
             // directly instead of having to do:
             //   await taskMgr.add(Task.pause(1.0))
             AsyncTask *task = (AsyncTask *)fut;
-            _manager->add(task);
+            if (!task->is_alive()) {
+              _manager->add(task);
+            }
           }
           if (fut->add_waiting_task(this)) {
             if (task_cat.is_debug()) {