History log of /haiku/src/system/libroot/posix/stdlib/exit.cpp
Revision Date Author Comments
# 0df493a1 01-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Fix handling of debugger() call in abort().

The kernel's handling of SIGABRT is just to terminate the application
immediately without doing anything else (it only notifies the debugger if
there's one installed for this application already.) More serious faults
(e.g. SIGSEGV) originate in the kernel and handle this logic before they
even invoke the signal handler.

So the correct solution is to do the same here in libroot. This incurs
a very, very slight performance penalty of the syscall time for sigaction(),
though I expect whatever applications are causing SIGABRT to be invoked more
than once a second will call raise() directly instead of abort()...


# 17f5ac91 14-Apr-2017 Augustin Cavalier <waddlesplash@gmail.com>

libroot: Restore exit() call after debugger().

Thanks PulkoMandy for the review.


# a5d208c7 14-Apr-2017 Augustin Cavalier <waddlesplash@gmail.com>

libroot: abort() should behave like a crash, not just a 'failure' exit.

Calling debugger() means that the crash dialog will be shown, and so
users will not be left wondering why an app just spontenously disappeared.


# 416255de 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

libroot: Fix typo in static variable name.


# e5d42559 06-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Init AtExitInfoBlock::fFirstUnused in the constructor. Probably fixes #6793.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39324 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 85f9496a 04-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented __cxa_atexit() and __cxa_finalize() which are required by the
Itanium ABI. Whether __cxa_atexit() really works for associating hooks with
DSOs has not been tested yet, as our compiler doesn't use the function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b502275b 04-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

exit.c -> exit.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39295 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 416255de4eaf5d082333c4c14c4c04815735ee42 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

libroot: Fix typo in static variable name.


# e5d425593341ecc6d469fa8c23d8dbf7fbb2a0c1 06-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Init AtExitInfoBlock::fFirstUnused in the constructor. Probably fixes #6793.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39324 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 85f9496a24cb28d28fc21cdf47a7f0cb7bb6576b 04-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented __cxa_atexit() and __cxa_finalize() which are required by the
Itanium ABI. Whether __cxa_atexit() really works for associating hooks with
DSOs has not been tested yet, as our compiler doesn't use the function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39298 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b502275bc845e06f60e75018d0972fd6cabd54a7 04-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

exit.c -> exit.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39295 a95241bf-73f2-0310-859d-f6bbb57e9c96