Re: [exim-dev] dlopen cleanup

Top Page
Delete this message
Reply to this message
Author: Tony Finch
Date:  
To: David Saez Padros
CC: exim-dev
Subject: Re: [exim-dev] dlopen cleanup
On Tue, 30 May 2006, David Saez Padros wrote:
>
> Just for the whishlist, it may be interesting to implement a
> 'cleanup' routine for dynamically-loaded objects so when exim
> shutdown it will try to call a predefined function in each
> dynamically-loaded object (i.e. exim_dl_cleanup) that gives
> any dynamically-loaded object the chance to do it's own cleanup


This functionality is built-in to the dynamic linker as part of its
support for C++ static constructors and destructors. You can make use of
this functionality with GCC's C extensions by using the destructor
attribute on your cleanup function's declaration. For example:

static void cleanup(void) __attribute__((destructor));

Tony.
--
<fanf@???> <dot@???> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}