source.c, function source_reserve() :
Function avl_tree_wlock(global.source_tree) call must be placed before 
do-while, not inside the cycle.
My correction in block _DIGI:
#define _DIGI
...
     if(mount[0] != '/')
         ICECAST_LOG_WARN("Source at \"%s\" does not start with
'/',
clients will be "
                 "unable to connect", mount);
#ifdef _DIGI
     avl_tree_wlock (global.source_tree);
     do
     {
#else
     do
     {
         avl_tree_wlock (global.source_tree);
#endif
         src = source_find_mount_raw (mount);
         if (src)
         {
             src = NULL;
             break;
         }
...
On 2 Oct 2016, at 11:36, Andrey wrote:> source.c, function source_reserve() : > Function avl_tree_wlock(global.source_tree) call must be placed before > do-while, not inside the cycle.I do not think this makes any difference, this is a `do {} while (0)`, so it will only execute once anyway.> > My correction in block _DIGI: > > #define _DIGI > > ... > if(mount[0] != '/') > ICECAST_LOG_WARN("Source at \"%s\" does not start with '/', > clients will be " > "unable to connect", mount); > > #ifdef _DIGI > avl_tree_wlock (global.source_tree); > do > { > #else > do > { > avl_tree_wlock (global.source_tree); > #endif > src = source_find_mount_raw (mount); > if (src) > { > src = NULL; > break; > } > ... > _______________________________________________ > Icecast-dev mailing list > Icecast-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/icecast-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/icecast-dev/attachments/20161003/3bd7f8a7/attachment.html>
Yes, you are right. :-/ 02.10.16 21:36, Andrey пишет:> source.c, function source_reserve() : > Function avl_tree_wlock(global.source_tree) call must be placed before > do-while, not inside the cycle. > > My correction in block _DIGI: > > #define _DIGI > > ... > if(mount[0] != '/') > ICECAST_LOG_WARN("Source at \"%s\" does not start with '/', > clients will be " > "unable to connect", mount); > > #ifdef _DIGI > avl_tree_wlock (global.source_tree); > do > { > #else > do > { > avl_tree_wlock (global.source_tree); > #endif > src = source_find_mount_raw (mount); > if (src) > { > src = NULL; > break; > } > ... > _______________________________________________ > Icecast-dev mailing list > Icecast-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/icecast-dev