LINUX.ORG.RU

История изменений

Исправление illy, (текущая версия) :

Для этого, код, выполняющийся в потоках должен быть написан так, чтобы прерываться по какому-то условию (напр. периодически просматриваемый флаг std::atomic<bool> isRunning). В случае, если потоки используют I/O (pselect, epoll, пр.), то после установки флага в false надо прерывать системные вызовы подачей потокам сигнала (pthread_kill()). Отсюда код трэдов должен это правильно обработать и выйти из цикла.

Исправление illy, :

Для этого, код, выполняющийся в потоках должен быть написан так, чтобы прерываться по какому-то условию (напр. периодически просматриваемый флаг std::atomic<bool> isRunning). В случае, если потоки используют I/O (pselect, epoll, пр.), то после установки флага в false надо прерывать системные вызовы подачей им сигнала (pthread_kill()). Отсюда код трэдов должен это правильно обработать и выйти из цикла.

Исходная версия illy, :

Для этого, код, выполняющийся в потоках должен быть написан так, чтобы прерываться по какому-то условию (напр. периодически просматриваемый флаг std::atomic<bool> isRunning). В случае, если потоки используют I/O (pselect, epoll, пр.), то после установки флага в true надо прерывать системные вызовы подачей им сигнала (pthread_kill()). Отсюда код трэдов должен это правильно обработать и выйти из цикла.