Добрый всем вечер!
Есть такой класс:
class BackgroundTask
{
public:
    BackgroundTask();
    ~BackgroundTask();
    void odd_job()
    {
        while (1)
        {
            // do something useful
        }
    }
    void slot_need_stop()
    {
        std::terminate();
    }
};
Где-то в main:
    std::thread jobt(&BackgroundTask::odd_job, &job);
    jobt.join();
Слот slot_need_stop связан с сигналом от обработчика SIGTERM и прерывает работу odd_job.
Насколько корректно такое прерывание потока? Если нет, то посоветуйте, плиз, как. Заранее благодарен.



