[reSIProcate] More problems with `assert'
Derek MacDonald
derek at counterpath.com
Mon Nov 6 20:41:34 CST 2006
The assert for line 1166 is complaining that there is a feature message that
does not have a feature chain. What is happening is if the
ServerAuthManager receives an CANCEL it reports that the feature is done,
even though it has an oustanding auth request. When the UserAuthInfo message
arrives it triggers the assert as the chain has cleaned itself up.
We can do two things here:
1. Leave the assert in, and have the contract of features remain that they
will post stray messages; features cannot call themselves done until they
have received any outstanding feature messages.
2. Have dum delete, or call a destroy method, on any DumFeatureMessage that
does not have a feature chain.
Choice 2 will make writing features easier, but encourage sloppyness which
could lead to bugs. However, if the default implementation of the destroy
method is assert(0) features that don't want the weak_ptr type behaviour
will still have the assert.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20061106/c65cc271/attachment.htm>
More information about the resiprocate-devel
mailing list