Apparently abort() calls raise(SIGABRT) under Linux.
/* This prints an "Assertion failed" message and aborts. */
extern void __assert_fail (const char *__assertion, const char *__file,
unsigned int __line, const char *__function)
__THROW __attribute__ ((__noreturn__));
And I guess that one way to abort is to throw an __attribute__ ((__noreturn__)).
Or, perhaps more likely, it is throwing into no catch() and then throwing itself causes an abort() due to no handler being present above atexit().
bien
________________________________
From: Vinícius dos Santos Oliveira
Under Linux when BOOST_THREAD_HAS_EINTR_BUG is defined we SIGABRT at this:
~mutex() { BOOST_VERIFY(!posix::pthread_mutex_destroy(&m)); }
How is the code for BOOST_THREAD_HAS_NO_EINTR_BUG? Are UNIX signals being involved? -- Vinícius dos Santos Oliveira https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fvinipsmaker.github.io%2F&data=05%7C02%7C%7Ca3335f7546f240f606ae08dc661307e6%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638497479127208113%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Z4o45i1vO7qyfLVFSBFq8purCVRwxe7CVU3nu7lxarA%3D&reserved=0https://vinipsmaker.github.io/