summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/exit.c
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-08-25 10:40:54 -0300
committerRenato Botelho <renato@netgate.com>2016-08-25 10:40:54 -0300
commit5f4dbd408a354e294fdffc23ee889af03b7cfc28 (patch)
tree2d140e0691c400a324f9da94ed1282ab1a1c8710 /lib/libc/stdlib/exit.c
parentff37ccbef82fdcee6f5306945547bc8541986a03 (diff)
parent986f593e4573a0f751ae6fa39b49e0a0dcbefbf8 (diff)
downloadFreeBSD-src-5f4dbd408a354e294fdffc23ee889af03b7cfc28.zip
FreeBSD-src-5f4dbd408a354e294fdffc23ee889af03b7cfc28.tar.gz
Merge remote-tracking branch 'origin/stable/11' into devel-11
Diffstat (limited to 'lib/libc/stdlib/exit.c')
-rw-r--r--lib/libc/stdlib/exit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libc/stdlib/exit.c b/lib/libc/stdlib/exit.c
index a656e04..521d05a 100644
--- a/lib/libc/stdlib/exit.c
+++ b/lib/libc/stdlib/exit.c
@@ -63,6 +63,12 @@ exit(int status)
_thread_autoinit_dummy_decl = 1;
+ /*
+ * We're dealing with cleaning up thread_local destructors in the case of
+ * the process termination through main() exit.
+ * Other cases are handled elsewhere.
+ */
+ __cxa_thread_call_dtors();
__cxa_finalize(NULL);
if (__cleanup)
(*__cleanup)();
OpenPOWER on IntegriCloud