Boost logo

Boost :

From: David Bien (davidbien_at_[hidden])
Date: 2024-04-26 17:09:59


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 <vini.ipsmaker_at_[hidden]>
Sent: Friday, April 26, 2024 10:05 AM
To: boost_at_[hidden] <boost_at_[hidden]>
Cc: David Bien <davidbien_at_[hidden]>
Subject: Re: [boost] BOOST_THREAD_HAS_EINTR_BUG...

Em sex., 26 de abr. de 2024 às 13:51, David Bien via Boost
<boost_at_[hidden]> escreveu:
> 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=0<https://vinipsmaker.github.io/>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk