#include #ifdef __linux__ #include #include void exit_thread(int result) { syscall(SYS_exit, result); } #else #error Needs OS-specific implementation #endif int call_me() { return 12345; } void thread() { std::this_thread::sleep_for( std::chrono::seconds(10)); // Let the main thread exit. exit_thread(42); // break here } int main() { std::thread(thread).detach(); exit_thread(47); }