// Copyright 2022 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. #include #include #include // Test that when a thread aborts the whole application crashes // even when the main thread is blocking in pthread_join and // not returning the event loop. void* thread_start(void* arg) { puts("thread_start"); abort(); // Should never get here __builtin_trap(); return NULL; } int main() { puts("in main"); pthread_t t; pthread_create(&t, NULL, thread_start, NULL); puts("calling join"); pthread_join(t, NULL); // Should never get here __builtin_trap(); }