diff --git a/Include/Aurora/Async/Async.hpp b/Include/Aurora/Async/Async.hpp index 49f9a5b4..dc37a588 100644 --- a/Include/Aurora/Async/Async.hpp +++ b/Include/Aurora/Async/Async.hpp @@ -98,9 +98,9 @@ namespace Aurora::Async struct BasicWorkStdFunc : IWorkItemHandler { std::function callback; - std::function error; + std::function shutdown; - BasicWorkStdFunc(std::function &&callback, std::function &&error) : callback(std::move(callback)), error(std::move(error)) + BasicWorkStdFunc(std::function &&callback, std::function &&error) : callback(std::move(callback)), shutdown(std::move(shutdown)) {} BasicWorkStdFunc(std::function &&callback) : callback(std::move(callback)) @@ -109,7 +109,7 @@ namespace Aurora::Async BasicWorkStdFunc(const std::function &callback) : callback(callback) {} - BasicWorkStdFunc(const std::function &callback, const std::function &error) : callback(callback), error(error) + BasicWorkStdFunc(const std::function &callback, const std::function &shutdown) : callback(callback), shutdown(shutdown) {} private: @@ -130,7 +130,10 @@ namespace Aurora::Async { try { - error(); + if (shutdown) + { + shutdown(); + } } catch (...) {