[prev in list] [next in list] [prev in thread] [next in thread]
List: asterisk-dev
Subject: Re: [asterisk-dev] [Code Review] Fix ao2_iterator API to hold
From: "Russell Bryant" <russell () digium ! com>
Date: 2009-09-30 15:27:20
Message-ID: 20090930152720.24581.83237 () hotblack ! digium ! internal
[Download RAW message or body]
> On 2009-09-30 10:25:18, Russell Bryant wrote:
> > I'm happy with this as is, without an API change.
To be more clear, after re reading the description, if there was going to be an \
additional change, I would be in favor of just marking ao2_iterator_init() as \
deprecated but leaving it there.
- Russell
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/383/#review1126
-----------------------------------------------------------
On 2009-09-29 16:56:10, Kevin Fleming wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/383/
> -----------------------------------------------------------
>
> (Updated 2009-09-29 16:56:10)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> See Mantis issue for details of what prompted this change.
>
> Additional notes:
>
> This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK has become an \
> enum instead of a macro, with a name that fits our naming policy; also, it is now \
> necessary to call ao2_iterator_destroy() on any iterator that has been created. \
> Currently this only releases the reference to the container being iterated, but in \
> the future this could also release other resources used by the iterator, if the \
> iterator implementation changes to use additional resources.
> The patch currently changes the API in a way that will *not* cause existing code to \
> fail at compilation or run time; instead, existing code that is used against the \
> new API implementation will result in a reference leak on the container being \
> iterated. There are least two ways this can be addressed... the ao2_iterator_init() \
> function's name can be changed so that existing code will fail to compile or link, \
> or the existing function can be left alone (*without* taking a container reference) \
> and a new function created that implements the API properly. If the latter option \
> is chosen, ao2_iterator_init() would be marked 'deprecated' to encourage developers \
> to switch to the new API function as soon as possible.
>
> This addresses bug 15987.
> https://issues.asterisk.org/view.php?id=15987
>
>
> Diffs
> -----
>
> /trunk/apps/app_queue.c 220997
> /trunk/channels/chan_console.c 220997
> /trunk/channels/chan_iax2.c 220997
> /trunk/channels/chan_sip.c 220997
> /trunk/funcs/func_dialgroup.c 220997
> /trunk/include/asterisk/astobj2.h 220997
> /trunk/main/astobj2.c 220997
> /trunk/res/res_calendar.c 220997
> /trunk/res/res_clialiases.c 220997
> /trunk/res/res_musiconhold.c 220997
> /trunk/res/res_odbc.c 220997
> /trunk/res/res_phoneprov.c 220997
>
> Diff: https://reviewboard.asterisk.org/r/383/diff
>
>
> Testing
> -------
>
> Compile testing only at this point.
>
>
> Thanks,
>
> Kevin
>
>
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
AstriCon 2009 - October 13 - 15 Phoenix, Arizona
Register Now: http://www.astricon.net
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic