Libtool and Support for Shared Libraries
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.
More information about the Cyrus-devel