Libtool and Support for Shared Libraries

Bron Gondwana brong at fastmail.fm
Fri May 11 02:11:10 EDT 2012


On Fri, May 11, 2012 at 01:52:31PM +1000, Greg Banks wrote:
>  - Cyrus has multiple definitions of fatal(), with three different sets
>  of parameters.  Apart from the basic sillyness of this arrangement,
>  it's just *asking* for unnecessary drama once you add shared libraries
>  into the mix.  At the very least we should ensure they all have exactly
>  the same parameters.  Better would be to push the definition into
>  libcyrus_min() and provide an atfatal() which behaves like atexit(),
>  i.e. allows code to register cleanup handlers to be called from
>  fatal().  Then all the calls to foo_done() all over the place could use
>  that technique.  We could also add __attribute__((noreturn)) and
>  provide a printf-like variant (like fatalf() in masterconf.c) too.

I also want to deal with the stupidity of having two different
configuration systems which both read the same config data, one
of which pre-seeds the other during startup.  It's insane.
cyrusmaster should just include the same config reading code.

Bron.


More information about the Cyrus-devel mailing list