This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: call a function even a program terminate abnormally
- From: "Patrick Schlangen" <patrick at schlangen dot me>
- To: "Yubin Ruan" <ablacktshirt at gmail dot com>
- Cc: <libc-help at sourceware dot org>
- Date: Sat, 05 Aug 2017 11:29:51 +0200
- Subject: Re: call a function even a program terminate abnormally
- Authentication-results: sourceware.org; auth=none
- References: <CAJYFCiMvufz7LK6jQdwubqC520pQLV1=vHiekkOVfL1mLXDd5Q@mail.gmail.com>
- Reply-to: "Patrick Schlangen" <patrick at schlangen dot me>
Hi Yubin,
> I am wondering whether it is possible to invoke a function when a program
> terminate abnormally (e.g., segfault).
you could install a signal handler for SIGSEGV using signal() (2),
but please be aware of all the pitfalls.
When your process receives SIGSEGV, you probably have some
memory corruption ongoing and you don't know if the data structure
holding your lock is still valid.
Best Regards,
Patrick