Skip to content
Snippets Groups Projects
  • Russell Bryant's avatar
    4328c752
    Merged revisions 80424 via svnmerge from · 4328c752
    Russell Bryant authored
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
    r80424 | russell | 2007-08-22 17:40:27 -0500 (Wed, 22 Aug 2007) | 10 lines
    
    When converting this code to use the list macros, I changed it so objects are
    added to the head of a bucket instead of the tail.  However, while looking over
    code with mmichelson, we noticed that the algorithm used in ao2_iterator_next
    requires that items are added to the tail.  This wouldn't have caused any huge
    problem, but it wasn't correct.  It meant that if an object was added to a
    container while you were iterating it, and it was added to the same bucket that
    the current element is in, then the new object would be returned by 
    ao2_iterator_next, and any other objects in the bucket would be bypassed in
    the traversal.
    
    ........
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
    4328c752
    History
    Merged revisions 80424 via svnmerge from
    Russell Bryant authored
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
    r80424 | russell | 2007-08-22 17:40:27 -0500 (Wed, 22 Aug 2007) | 10 lines
    
    When converting this code to use the list macros, I changed it so objects are
    added to the head of a bucket instead of the tail.  However, while looking over
    code with mmichelson, we noticed that the algorithm used in ao2_iterator_next
    requires that items are added to the tail.  This wouldn't have caused any huge
    problem, but it wasn't correct.  It meant that if an object was added to a
    container while you were iterating it, and it was added to the same bucket that
    the current element is in, then the new object would be returned by 
    ao2_iterator_next, and any other objects in the bucket would be bypassed in
    the traversal.
    
    ........
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
astobj2.c 17.43 KiB