Информация об изменениях

Сообщение Re[7]: Повесил и MSVC 2015 от 17.03.2017 15:59

Изменено 17.03.2017 15:59 Alexander G

Re[7]: Повесил и MSVC 2015
Понимание сути проблемы привело к тому, что смог повесить и MSVC 2015:

#include <thread>
#include <atomic>
#include <chrono>
#include <iostream>


std::atomic_bool stop_thread;
std::thread thd;

int main()
{
    thd = std::thread([]{
        while ( ! stop_thread.load() )
            std::this_thread::sleep_for(std::chrono::milliseconds(200));
        atexit([] { std::cout << "Exit thread\n"; });
    });

    atexit([]{
        stop_thread.store(true);
        thd.join();
    });

    std::cout << "Exiting\n";
    return 0;
}


gcc на ideone смог:

Это баг MSVC 2015 ? Создавать в connect ?
Re[7]: Повесил и MSVC 2015
Понимание сути проблемы привело к тому, что смог повесить и MSVC 2015:

#include <thread>
#include <atomic>
#include <chrono>
#include <iostream>


std::atomic_bool stop_thread;
std::thread thd;

int main()
{
    thd = std::thread([]{
        while ( ! stop_thread.load() )
            std::this_thread::sleep_for(std::chrono::milliseconds(200));
        atexit([] { std::cout << "Exit thread\n"; });
    });

    atexit([]{
        stop_thread.store(true);
        thd.join();
    });

    std::cout << "Exiting\n";
    return 0;
}


gcc на ideone смог: http://ideone.com/W3JtJi

Это баг MSVC 2015 ? Создавать в connect ?