diff --git a/repos/base/src/base/cxx/misc.cc b/repos/base/src/base/cxx/misc.cc index c1c643399..c875f6e44 100644 --- a/repos/base/src/base/cxx/misc.cc +++ b/repos/base/src/base/cxx/misc.cc @@ -110,6 +110,10 @@ extern "C" void *abort(void) myself->name(thread_name, sizeof(thread_name)); PWRN("abort called - thread: '%s'", thread_name); + /* Notify the parent of failure */ + if (!strcmp("main", thread_name, sizeof(thread_name))) + env()->parent()->exit(1); + sleep_forever(); return 0; }