fork(1) download
  1. #include <thread>
  2. #include <atomic>
  3. #include <chrono>
  4. #include <iostream>
  5.  
  6. static struct X
  7. {
  8. X(): thd([this]
  9. {
  10. while ( ! stop.load() )
  11. std::this_thread::sleep_for(std::chrono::milliseconds(200));
  12. })
  13. {
  14. }
  15.  
  16. ~X()
  17. {
  18. stop.store(true);
  19. thd.join();
  20. std::cout << "Exited\n";
  21. }
  22.  
  23. std::atomic_bool stop;
  24. std::thread thd;
  25. } x;
  26.  
  27. int main()
  28. {
  29. std::cout << "Exiting\n";
  30. return 0;
  31. }
Success #stdin #stdout 0s 17296KB
stdin
Standard input is empty
stdout
Exiting
Exited