| 890 | } |
| 891 | |
| 892 | void AwaitEventLoop::drainDeferredDestroys() |
| 893 | { |
| 894 | while (deferredDestroyList != nullptr) |
| 895 | { |
| 896 | AwaitTask::Handle handle = deferredDestroyList; |
| 897 | AwaitTask::Promise& promise = handle.promise(); |
| 898 | deferredDestroyList = promise.deferredDestroyNext; |
| 899 | promise.deferredDestroyNext = {}; |
| 900 | promise.destroyDeferred = false; |
| 901 | handle.destroy(); |
| 902 | } |
| 903 | } |
| 904 | |
| 905 | Result AwaitEventLoop::run() |
| 906 | { |