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