Il 18/02/2014 11:17, Daniel P. Berrange ha scritto:
> >Yes, SIGABRT is synchronous for all purposes.  So the only danger is
> >that g_string_free() or g_free() could fail while we're in
> >g_assert(false).  But they don't, which makes sense because they are
> >totally unrelated to g_assert() and therefore can handle re-entrancy.
>
> If malloc aborts due to a double free or other similar problem, you
> may risk reentering it.
If you register the custom SIGABRT handler with sigaction + SA_RESETHAND
then you'd avoid the re-entrancy risk, since a cascading SIGABRT would
get handled by the system default handler, which would immediately
terminate the process.

I meant reentering malloc.

Paolo

Reply via email to