File tree Expand file tree Collapse file tree 1 file changed +16
-16
lines changed
Expand file tree Collapse file tree 1 file changed +16
-16
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,20 @@ inline int hardware_concurrency()
4242
4343class Threads final
4444{
45+ static void add_message (const char * const message, std::optional<std::string>& res)
46+ {
47+ if (!res)
48+ {
49+ res = message;
50+ return ;
51+ }
52+ if (!res->empty ())
53+ {
54+ *res += ' \n ' ;
55+ }
56+ *res += message;
57+ }
58+
4559 struct Thread final
4660 {
4761 std::future<void > future;
@@ -62,20 +76,6 @@ class Threads final
6276 {
6377 std::optional<std::string> res;
6478
65- const auto add_message = [&](const char * const message)
66- {
67- if (!res)
68- {
69- res = message;
70- return ;
71- }
72- if (!res->empty ())
73- {
74- *res += ' \n ' ;
75- }
76- *res += message;
77- };
78-
7979 for (Thread& thread : threads_)
8080 {
8181 thread.thread .join ();
@@ -88,11 +88,11 @@ class Threads final
8888 }
8989 catch (const std::exception& e)
9090 {
91- add_message (e.what ());
91+ add_message (e.what (), res );
9292 }
9393 catch (...)
9494 {
95- add_message (" Unknown error in thread" );
95+ add_message (" Unknown error in thread" , res );
9696 }
9797 }
9898
You can’t perform that action at this time.
0 commit comments