[asterisk-dev] Re: [asterisk-commits] trunk r26990 - in /trunk: ./ apps/ channels/ include/asterisk/ res/

Luigi Rizzo rizzo at icir.org
Mon May 15 13:29:07 MST 2006


On Mon, May 15, 2006 at 02:51:13PM -0500, Kevin P. Fleming wrote:
> asterisk-commits at lists.digium.com wrote:
> > Author: russell
> > Date: Thu May 11 15:07:44 2006
> > New Revision: 26990
> > 
> > URL: http://svn.digium.com/view/asterisk?rev=26990&view=rev
> > Log:
> >  - The recent change to linklists.h broke the build on linux for some reason.
> >    So, I have removed all of the uses of AST_LIST_HEAD_INIT and replaced them
> >    with the equivalent static initializations.
> 
> Once that change has been reverted and resolved, we need to decide
> whether this is the appropriate thing to do or not.

Unless people have time to investigate it in detail,
I believe this is better left to after 1.4.

The original problem was an uninitialized mutex field in
AST_LIST_HEAD_INIT which triggered the error detection code in
one version of the muxex init code (in this case on *BSD, but
it is really irrelevant). Dinesh and I fixed it by initializing
it to AST_MUTEX_INIT_VALUE. This unfortunately exposed another existing
bug, this time i believe on Linux, namely the wrong type of
AST_MUTEX_INIT_VALUE, which i then casted to the correct value.

I haven't checked how we stand now - but code inspection
reveals another instance of the first bug in AST_LIST_HEAD_SET()

A real fix to this kind of problems is settle to use the same
init code on all platforms, thus removing all (often untested
or incorrect) variations. But testing this takes a bit of time
and personally i cannot commit to doing it before 1.4

	cheers
	luigi



More information about the asterisk-dev mailing list