git: libc: Attempt to execute new atexit() destructors during __cxa_finalize().
Rimvydas Jasinskas
zrj at crater.dragonflybsd.org
Wed Feb 24 19:29:28 PST 2021
commit 9736b3580bcebfd19085b7c7b48f52886bacba6b
Author: zrj <rimvydas.jasinskas at gmail.com>
Date: Thu Feb 25 03:15:49 2021 +0000
libc: Attempt to execute new atexit() destructors during __cxa_finalize().
Some c++ programs might and do register new destructors from other
destructors. Try to handle such cases by relooping scan upto
CXA_DTORS_ITERATIONS times (like what _thread_finalize() does) if new
destructors get added even if that will not strictly match LIFO order.
Summary of changes:
lib/libc/stdlib/atexit.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9736b3580bcebfd19085b7c7b48f52886bacba6b
--
DragonFly BSD source repository
More information about the Commits
mailing list