[Asterisk-code-review] Astobj2: Improve error logging from INTERNAL OBJ. (asterisk[master])
Mark Michelson
asteriskteam at digium.com
Tue Apr 21 10:37:17 CDT 2015
Mark Michelson has posted comments on this change.
Change subject: Astobj2: Improve error logging from INTERNAL_OBJ.
......................................................................
Patch Set 2: Code-Review+1
> > The changes look good to me, but I do have a question about some
> > patterns I noticed in there.
> >
> > There are several places where a "tag" variable is checked for
> > NULLity. In some cases, it changes what gets passed to another
> ao2
> > function to some default string. In other cases, a NULL tag
> results
> > in not printing a debug message to the ref_log.
> >
> > My problem is, I don't understand how a tag would ever be NULL.
> In
> > the case where the non _t_ version of a function is called, the
> tag
> > defaults to an empty string, not NULL. Pretty much, someone would
> > have to call the _t_ variant of an ao2 function and purposely
> pass
> > NULL as the debug message. This seems like a mistake, and should
> > probably be caught with an assertion. It seems like you should be
> > able to have confidence in a non-NULL tag at all times.
>
> This is intentional. Previously a call directly to __ao2_ref would
> never write to refs log, even if REF_DEBUG is enabled. So any code
> that previously called __ao2_ref(o, +1) would now call ao2_t_ref(o,
> +1, NULL) - to maintain the previous behaviour of no entry in refs
> log. Probably need to add to the doxygen comment for ao2_ref /
> ao2_alloc to indicate this behaviour. I'm busy tonight, I'll try
> to add a comment in the next couple days.
>
> Container code is a bit weird, the node objects do not get logged
> by REF_DEBUG. This was always the case, I'm guessing it's a matter
> of volume / not flooding the logs.
Okay that makes sense then. Changing to +1.
--
To view, visit https://gerrit.asterisk.org/140
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf3552721fe999365ba8a8cf00a965aa6b897cc1
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: Mark Michelson <mmichelson at digium.com>
Gerrit-HasComments: No
More information about the asterisk-code-review
mailing list