Closed wjgra closed 1 month ago
Redundant in view of #10 - we can just use std::future
s instead, which propagate exceptions upon calls to get()
.
Re-opened: the ordering imposed by get()
means that an exception being thrown in a given thread does not terminate the program. This is worth investigating further.
Exceptions thrown by server/client threads are currently uncaught - consider a
ThreadContext
class that includes anatomic<bool> shouldExit
to manage thread lifetime.