История изменений
Исправление slovazap, (текущая версия) :
В таком случае поток должен что-то куда-то срыгнуть, что в конечном счете повлечет за собой shutdown()
Можешь послать сигнал в главный поток, можешь поднять какой-нибудь флаг, можешь даже объект исключения под локом добавить в общий вектор а в главном потоке вытащить его и даже rethrow'нуть - как тебе будет удобнее.
Ну и как я уже говорил - несколько раз я попадал на такое что сигнал был перехвачен «как-бы в контексте» дочернего потока.
Если ты заблочил сигналы в дочерних потоках, такого не может быть.
PS. Да, можешь посмотреть на promise/feature из c++11, они изкоробки умеют удобно передавать исключения из потоков.
Исходная версия slovazap, :
В таком случае поток должен что-то куда-то срыгнуть, что в конечном счете повлечет за собой shutdown()
Можешь послать сигнал в главный поток, можешь поднять какой-нибудь флаг, можешь даже объект исключения под локом добавить в общий вектор а в главном потоке вытащить его и даже rethrow'нуть - как тебе будет удобнее.
Ну и как я уже говорил - несколько раз я попадал на такое что сигнал был перехвачен «как-бы в контексте» дочернего потока.
Если ты заблочил сигналы в дочерних потоках, такого не может быть.