jbaldwin / libcoro

C++20 coroutine library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove exceptions to break out of infinite await with optional<T>

jbaldwin opened this issue · comments

Exceptions on linux (and possibly other platforms) have a global lock the in the standard library. This could cause performance problems outside of exceptions themselves. Its also generally bad form to use exceptions for control flow.. which is what they are currently being used for. 😢

Removing coro/stop_signal.hpp

Using tartan llama tl::expected instead of std::optional since it gives better output/reasons for why things happen, instead of just nothing. std::nullopt doesn't convey to the user that the object has been shutdown/stopped but an enum can.